[SQL Server]如何快速查找使用了某个字段的全部存储过程
当一个系统中使用了不少的表,而且存在大量的存储过程,当
数据库中的某个表删除了某个字段,那么相应的存储过程也须要改动,可是咱们不知道哪些存储过程使用了该字段,那咱们该怎么办?咱们能够从以前的文档一个一个查找使用了该字段的存储过程,可是这样效率不少,并且还容易出错,咱们能够使用下面的方法来查找全部使用了某个字段的存储过程。以下的函数:
[sql]
GO
SELECT obj.Name 存储过程名, sc.TEXT 存储过程内容
FROM syscomments sc
INNER JOIN sysobjects obj ON sc.Id = obj.ID
WHERE sc.TEXT LIKE '%' + '字段名' + '%'
AND TYPE = 'P'
GO
下面举一个例子,好比查找数据库中全部使用了AdId这个字段的全部存储过程。
[sql]
USE KyCms
GO
SELECT obj.Name 存储过程名, sc.TEXT 存储过程内容
FROM syscomments sc
INNER JOIN sysobjects obj ON sc.Id = obj.ID
WHERE sc.TEXT LIKE '%' + 'AdID' + '%'
AND TYPE = 'P'
GO