在所有数据库中搜索SQL的存储过程

时间:2014-02-28 21:37:16

标签: database stored-procedures

在所有数据库上执行查询以查找是否所有数据库中都存在SP时,我缺少什么?

这就是我正在使用的:

SP_MSForEachDb'SELECT * FROM sys.objects WHERE type =“P”AND name =“'usp_perfnon_tokals'” IF名称('usp_perfnon_tokals')不为空     打印'礼物!' 其他     打印'未考虑'

1 个答案:

答案 0 :(得分:0)

您可以使用information_schema

select * 
  from information_schema.routines 
 where routine_type = 'PROCEDURE'

此查询返回所有模式中的所有存储过程 您可以通过在where子句中添加更多条件来缩小范围,例如

select * 
  from information_schema.routines 
 where routine_type = 'PROCEDURE'
and SPECIFIC_NAME like '%Name%'