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