代码改变世界

查询引用了某张表的所有存储过程

2012-06-19 22:36  Continue  阅读(1285)  评论(0编辑  收藏  举报

在开发中,有时需要修改某张表的结构,在修改之前需要知道有哪些存储过程用到了该表,在存储过程少的情况下,我们可以直接一个个去查看,如果存储过程数量非常大,这种方法就不现实了。以下给出了一个简单的查找方法,分享一下,如果有什么错误或考虑不全面的地方,欢迎大家指出。

DECLARE @KeyWord nvarchar(100)
SET @KeyWord = '' --设置需要搜索的关键词(如:表名,存储过程名,视图名等)

SELECT b.name,a.definition 
FROM sys.all_sql_modules a 
INNER JOIN sys.objects b
ON a.object_id = b.object_id
WHERE b.type = 'P' 
AND a.definition LIKE '%'+@KeyWord+'%'