Sql server 查看表引用、依赖项,删除表及约束 脚本
在删除表,有外键约束和引用时,会提示不可删除,这时需要我们确认被哪些表引用,以及被存储过程引用的表,在表删除后,也经相应的删除相关过程。
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;