我需要计算一个特定的词的出现在我所有的存储过程。
即多少次这个词“地点”发生在所有的存储过程的一个特定的数据库中?
我试图做到这一点使用游标,但我没有得到任何地方!
我需要计算一个特定的词的出现在我所有的存储过程。
即多少次这个词“地点”发生在所有的存储过程的一个特定的数据库中?
我试图做到这一点使用游标,但我没有得到任何地方!
我会用object_definition
功能和sys.procedures
查看是这样的:
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 '%'+@word+'%' and type = 'P'
order by name
添加评论后,在所有存储过程中的特定单词的所有实例:
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 '%'+@word+'%'
这里是工作(和评论后更新)例如: http://sqlfiddle.com/#!3/a759c/7