如何删除所有相关行

Spr*_*ner 6 sql sql-server sql-server-2012

我有一个表A,它有一个主键列a,它是for table key到B表(表B有主键b和列a).表B还有一个主键b,其中forigen键到C表,依此类推.

现在,如果我想从表A中删除一行,那么它就不会允许我,因为它的依赖表B和表B依赖于表C.因此,我必须首先从C中删除一行,然后在B中删除一行

那么任何人都可以告诉我是否有任何方法可以直接删除而不去每个表并检查它是否有任何依赖关系然后删除

Khu*_*Ali 2

您可以使用级联Cascading Referential Integrity Constraints

更新: 您应该启用表 B 中的表 A (PK) 的级联引用完整性约束,其中 A 的 ID 是外键,并且类似地启用表 C 中的表 B 的 PK,其中 B 的 ID 是外键

在此输入图像描述

MSDN 库

代码项目文章

非常好的文章BLOG.SQL AUTHORITY