T-SQL筆記48_實用的腳本part2_如何去得知某table的來源或更新刪除源頭來自哪個sp或trigger_sp_depends
工作中時常遇到的情況就是在跨不同支SP中跟一堆不太熟悉的table混熟
有時還可能遇到SP中再下一層又去call了其他支SP的窘境
層層reference 業務邏輯都寫在Store Procedure情況
不利於debug .... > ~ <|||
但又必須去理解和盤點一些table 的reference情況 資料源頭
各欄位是捨麼定義的時候
就可能需要想一些辦法
沒辦法母公司那裏要幹嘛就多少也要follow
盤點某張table資料insert來源
1 2 3 4 5 | SELECT DISTINCT so.name , LOWER(sc.text) FROM syscomments sc INNER JOIN sysobjects so on sc.id=so.id where LOWER(sc.text) like '%insert%' and LOWER(sc.text) like '%{table名稱}%' and (LOWER(sc.text) like '%insert {table名稱}%' or LOWER(sc.text) like '%insert into {table名稱}%') |
盤點某張table資料delete時機
1 2 3 4 5 | SELECT DISTINCT so.name , LOWER(sc.text) FROM syscomments sc INNER JOIN sysobjects so on sc.id=so.id where LOWER(sc.text) like '%delete%' and LOWER(sc.text) like '%{table名稱}%' and (LOWER(sc.text) like '%delete {table名稱}%' or LOWER(sc.text) like '%delete from {table名稱}%') |
如何去察看某個database objects (可能是table,sp,trigger...)
有依賴或reference到其他哪些database objects (可能是table,sp,trigger...)
會顯示出reference到的table對應欄位
exec sp_depends [table名|sp名|trigger名]
留言
張貼留言