Rk1*_*Rk1 2 sql t-sql sql-server sql-server-2008
我需要计算所有存储过程中特定单词的出现次数。
即,在特定数据库内的所有存储过程中,“放置”一词会出现多少次?
我试图使用游标执行此操作,但是我什么也没得到!
我将使用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
Run Code Online (Sandbox Code Playgroud)
在注释之后添加了所有存储过程中所有出现的特定单词:
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+'%'
Run Code Online (Sandbox Code Playgroud)
这是工作示例(并在注释后更新)示例:http : //sqlfiddle.com/#!3/a759c/7
| 归档时间: |
|
| 查看次数: |
1422 次 |
| 最近记录: |