sys.sql_modules
を使用します なぜなら definition
nvarchar(max)
です 長いコードを切り捨てないからです。
INFORMATION_SCHEMA.ROUTINES
内 ROUTINE_DEFINITION
列は nvarchar(4000)
のみです そのため、長い手順のテキストを表示しようとすると、切り詰められていることがわかります。
これを使用して、任意のプロシージャ、ビュー、関数でテキストを検索します:
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
これを使用して、特定のプロシージャ、ビュー、関数のテキストを表示します:
select * from sys.sql_modules where object_id=object_id('YourProcedure')