Sqlserver
 sql >> Datenbank >  >> RDS >> Sqlserver

SQL- Zählt das Vorkommen eines bestimmten Wortes in allen gespeicherten Prozeduren

Ich würde object_definition verwenden Funktion und sys.procedures ansehen so:

declare @word varchar(128)
set @word = 'place'

select name, (len(object_definition(object_id)) -  len(replace(object_definition(object_id), @word, ''))) / len (@word) as qty
from sys.procedures
where object_definition(object_id) like '%'[email protected]+'%' and type = 'P'
order by name

Hinzugefügt nach dem Kommentar alle Vorkommen eines bestimmten Wortes in allen gespeicherten Prozeduren:

declare @word varchar(128)
set @word = 'place'

select sum((len(object_definition(object_id)) -  len(replace(object_definition(object_id), @word, ''))) / len (@word)) as qty
from sys.procedures
where object_definition(object_id) like '%'[email protected]+'%'

Hier ist ein funktionierendes (und nach dem Kommentar aktualisiertes) Beispiel:http://sqlfiddle.com/#! 3/a759c/7