sql >> Databáze >  >> RDS >> Sqlserver

Kde SQL Server ukládá kód uložené procedury?

Použijte sys.sql_modules protože definition je nvarchar(max) protože nezkrátí dlouhý kód.

V INFORMATION_SCHEMA.ROUTINES ROUTINE_DEFINITION sloupec je pouze nvarchar(4000) takže pokud zkusíte zobrazit text dlouhé procedury a uvidíte, že je zkrácený.

Použijte toto k vyhledání textu v libovolné proceduře, zobrazení, funkci:

SELECT DISTINCT
    o.name AS Object_Name,o.type_desc
    FROM sys.sql_modules        m 
        INNER JOIN sys.objects  o ON m.object_id=o.object_id
    WHERE m.definition Like '%'[email protected]+'%'
    ORDER BY o.type_desc,o.name 

použijte k zobrazení textu dané procedury, zobrazení, funkce:

select * from sys.sql_modules where object_id=object_id('YourProcedure')


  1. Použití R s RODBCext a RODBC k provedení uložené procedury SQL

  2. Bezobslužná instalace Percona/MySQL na Ubuntu

  3. Jak vytvořit funkci SQL Server pro spojení více řádků z poddotazu do jednoho odděleného pole?

  4. Jak používat _COUNT v BaseColumns