sql >> Databasteknik >  >> RDS >> Sqlserver

SQL- Räkna förekomster av ett specifikt ord inom alla lagrade procedurer

Jag skulle använda object_definition funktion och sys.procedures visa så här:

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

Tillagt efter kommentar, alla förekomster av specifika ord i alla lagrade procedurer:

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

Här är ett fungerande (och uppdaterat efter kommentar) exempel:http://sqlfiddle.com/#! 3/a759c/7




  1. JOOQ misslyckas med PostgreSQL Custom Type som en Array:ERROR:felaktigt utformad post bokstavlig

  2. Ändra alla tabeller i databasen

  3. SQL Server namngiven instans med Visual Studio 2017 Installer-projekt

  4. Separat olika versioner av en webbplats