[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