Utilisez sys.sql_modules
parce que definition
est nvarchar(max)
car il ne tronquera pas le code long.
Dans INFORMATION_SCHEMA.ROUTINES
la ROUTINE_DEFINITION
la colonne est uniquement nvarchar(4000)
donc si vous essayez de visualiser le texte d'une longue procédure et vous verrez qu'il est tronqué.
Utilisez ceci pour rechercher du texte dans n'importe quelle procédure, vue, fonction :
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
utilisez ceci pour afficher le texte d'une procédure, vue, fonction donnée :
select * from sys.sql_modules where object_id=object_id('YourProcedure')