当表具有FK关系时删除行

时间:2010-11-19 14:53:32

标签: sql sql-server-2008

您好我有2张表格文件和项目。

DocumentID是Project表中的FK。

使用sql如何删除Document表中的Document Records, 并删除项目表中的相应记录。

由于

2 个答案:

答案 0 :(得分:5)

创建外键时,指定为ON DELETE CASCADE表约束。

此约束意味着删除文档时,所有将其作为外键引用的项目行也将被删除。

答案 1 :(得分:0)

delete 
  from projects 
 where documentsFK = (
                      select documentFK 
                        from documents 
                       where documentsFK > 125
                     );

delete 
  from documents 
 where documentsFK > 125;

修改

delete 
  from projects 
 where documentsFK in (
                       select documentFK 
                         from documents 
                        where documentsFK > 125
                      );

delete 
  from documents 
 where documentsFK > 125;