Sqlserver
 sql >> Base de données >  >> RDS >> Sqlserver

SQL- Compter les occurrences d'un mot spécifique dans toutes les procédures stockées

J'utiliserais object_definition fonction et sys.procedures afficher de cette façon :

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

Ajouté après commentaire, toutes les occurrences d'un mot spécifique dans toutes les procédures stockées :

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

Voici un exemple fonctionnel (et mis à jour après un commentaire) :http://sqlfiddle.com/# ! 3/a759c/7