0
如何查找某列是否用於存儲過程中的任何插入,更新或刪除語句。我使用了系統查詢,但不準確。我們可以在sql管理工作室手動檢查它,或者有任何查詢嗎?存儲過程中使用的列
如何查找某列是否用於存儲過程中的任何插入,更新或刪除語句。我使用了系統查詢,但不準確。我們可以在sql管理工作室手動檢查它,或者有任何查詢嗎?存儲過程中使用的列
更簡單的方法是使用RedGate SQL搜索。
但是,如果您願意,可以使用INFORMATION_SCHEMA.ROUTINES和ROUTINE_DEFINITION構建查詢。
編輯:
您可以使用此
SELECT ROUTINE_NAME, ROUTINE_DEFINITION
FROM INFORMATION_SCHEMA.ROUTINES
WHERE ROUTINE_DEFINITION LIKE '%YOUR COLUMN %'
AND ROUTINE_TYPE='PROCEDURE'
,或者如果您有與數據庫同名多個列,您可以使用此。
select DISTINCT p.name
from sys.procedures p
INNER JOIN sys.sql_dependencies d on p.object_id = d.object_id
INNER JOIN sys.tables t on t.object_id = d.referenced_major_id
INNER JOIN INFORMATION_SCHEMA.ROUTINES R ON R.ROUTINE_NAME = p.name
WHERE R.ROUTINE_DEFINITION like '%YOUR COLUMN %' AND t.name = YOURTABLE
但是,我認爲你應該使用搜索SQL
我會盡力,但我可以有一些樣本查詢作爲它很緊迫? – superachu 2010-08-31 14:45:21
謝謝。我會盡力讓你知道明天。 – superachu 2010-08-31 17:23:08
第二個查詢在SQL Server 2000中不起作用? – superachu 2010-09-01 07:07:10