查找表的所有外键,并在删除时添加级联

时间:2018-08-11 07:25:14

标签: sql sql-server

我有一些带有外键参考的表。我需要找到特定表中的所有外键名称,并使用SQL查询添加删除时级联选项。 我不想删除表格或删除数据。某些表格可能具有循环引用。 有解决方案吗?

1 个答案:

答案 0 :(得分:0)

下面的查询将帮助您查找表的外键

EXEC sp_fkeys 'TableName' 

到目前为止,我知道,您不需要删除表,但是首先您必须删除外键,然后您必须再次创建它并添加预期的规则 下面是一个例子

GO
ALTER TABLE EmailContact DROP
   CONSTRAINT FK_EmailContact_Email
GO
ALTER TABLE EmailContact ADD
   CONSTRAINT FK_EmailContact_Email  
       FOREIGN KEY (EmailId)
      REFERENCES Email (Id)
      ON DELETE CASCADE