删除某个表时,提示“无法删除对象 '表名',因为该对象正由一个 FOREIGN KEY 约束引用”,原因是该表被其它表的外键引用了,所以无法删除,只需先找到哪些表的外键引用了该表的字段,删除外键之后即可顺利删除原表。
使用以下查询语句找出被引用外键:
select fk.name,fk.object_id,OBJECT_NAME(fk.parent_object_id) as referenceTableName
from sys.foreign_keys as fk
join sys.objects as o on fk.referenced_object_id=o.object_id
where o.name='待删除的表名'
根据结果,执行以下语句即可删除外键引用:
ALTER TABLE dbo.引用的表名 DROP CONSTRAINT 外键名