Sqlserver
 sql >> Database >  >> RDS >> Sqlserver

SQL:conta le occorrenze di una parola specifica all'interno di tutte le procedure memorizzate

Userei object_definition funzione e sys.procedures visualizza in questo modo:

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

Aggiunto dopo il commento, tutte le occorrenze di una parola specifica in tutte le procedure memorizzate:

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]+'%'

Ecco un esempio funzionante (e aggiornato dopo il commento):http://sqlfiddle.com/#! 3/a759c/7