- 问题背景
- 解决办法
- 解决效果
删除无用的数据表时,或者用新表来代替旧表时,往往需要找到并修改旧表所在的sql。对于代码中嵌入的sql语句可以通过全局搜索的方式进行查找,但是对于存储过程,则无法通过直接搜索的方式查找。如何根据表名来查询有哪些存储过程中使用该表?
解决办法根据表名’XXXXXXXX’,通过以下脚本来查找相应的存储过程,以及sql片段。
DECLARE @strTableName varchar(500)='XXXXXXXX' SELECt obj.Name AS 存储过程名, sc.TEXT AS 存储过程内容 FROM syscomments sc INNER JOIN sysobjects obj ON sc.Id = obj.ID WHERe sc.TEXT LIKE '%'+ @strTableName +'%' AND TYPE = 'P'解决效果