Sql server 檢視錶引用、依賴項,刪除表及約束 指令碼

深海藍山發表於2018-05-15

在刪除表,有外來鍵約束和引用時,會提示不可刪除,這時需要我們確認被哪些表引用,以及被儲存過程引用的表,在表刪除後,也經相應的刪除相關過程。

1 被我引用的物件

SELECT * FROM sys.dm_sql_referenced_entities('TableName','OBJECT');
--檢視依賴項

2 引用我的物件

SELECT * FROM sys.dm_sql_referencing_entities('TableName','OBJECT');


3 查詢外來鍵約束

--exec sp_helpconstraint 'TableName';

會列出相關表,及主鍵,可以刪除對應的約束後,再刪除表


4 刪除約束及表、過程、檢視 指令碼

--刪除外來鍵約束 alter table TableName drop constraint 主/外來鍵ID;

alter table TC_Test drop constraint PK_TC_ONSTAGE_TC_Test; 

--刪除過程
DROP PROCEDURE Pr_TC_TC_Test;
--刪除表
DROP TABLE TC_Test;
--刪除檢視
DROP VIEW v_TC_TC_Test;

相關文章