是否有可能在不解析源代碼的情況下選擇插入,更新或刪除記錄的所有sproc名稱列表?我需要創建一個TSQL實用程序腳本來執行此操作。效率不是問題,因爲它每年只運行幾次(Curse'rs我的意思是遊標可以)。理想情況下,這個腳本不會包含對臨時或局部變量表的更新。如何查找插入,更新或刪除記錄的所有存儲過程?
我試過在SO Question上找到以下查詢。
SELECT
so.name,
so2.name,
sd.is_updated
from sysobjects so
inner join sys.sql_dependencies sd on so.id = sd.object_id
inner join sysobjects so2 on sd.referenced_major_id = so2.id
where so.xtype = 'p' -- procedure
and
is_updated = 1 -- proc updates table, or at least, I think that's what this means
但它會產生假陰性。
您所提供的鏈接包括了答案對於這個問題......只需要添加刪除即可。 – 2009-12-04 22:28:02
即使只更新sprocs,我仍然會得到約5%的失敗率。 – 2009-12-04 22:33:26