2010-07-14 63 views

回答

1

级联删除是我总是远离的东西。了解这是一个很酷的概念,但我还没有看到Cascading Deletes的严格实施。

看了我的咆哮,请继续阅读..

当您执行DELETE语句,SQL Server首先确定所有必须删除的行。它构建了必须包含的所有表的结构以及将要删除的所有行。

任何给定的表都不能多次出现在此列表中,并且从父树中必须有一个到子树的单个路径。

我认为你遇到了这个问题,因为你有一个自我加入客户表。

您将不得不手动删除子行,然后删除父项。

FWIW,我不会放弃外键关系并尝试设置触发器(如下面的KB文章所示)。

http://support.microsoft.com/kb/321843

相关问题