Sql server 2008 多级联路径问题

Sql server 2008 多级联路径问题,sql-server-2008,database-design,Sql Server 2008,Database Design,我在SQLServer2008中设计了一个图表。 如图所示: 现在在Value表中,我为Feature和ProductDetail设置了级联删除,但我看到了以下错误: “功能”表已成功保存“ProductDetail”表已保存 已成功创建“值”表 -无法创建关系“ValueFeature”。在表“Value”上引入外键约束“ValueFeature”可能会导致循环或 多个级联路径。指定在删除时不执行任何操作或在更新时不执行任何操作 操作,或修改其他外键约束。无法创建 约束。请参阅前面的错误 我

我在SQLServer2008中设计了一个图表。 如图所示:

现在在
Value
表中,我为
Feature
ProductDetail
设置了级联删除,但我看到了以下错误:

“功能”表已成功保存“ProductDetail”表已保存 已成功创建“值”表 -无法创建关系“ValueFeature”。在表“Value”上引入外键约束“ValueFeature”可能会导致循环或 多个级联路径。指定在删除时不执行任何操作或在更新时不执行任何操作 操作,或修改其他外键约束。无法创建 约束。请参阅前面的错误


我的设计有什么问题?

我想几年前,在SQL server 2005中,我也遇到过同样的问题。我想你的设计没有什么问题。如果删除
功能
,则希望删除所有
记录。这没什么错。如果没有其他级联,自动删除将不会进一步传播。然而,SQL Server似乎不够聪明,无法理解这一点,并且不允许您建立这样的关系,仅仅因为您有形成圆圈的外键。我认为,如果删除外键(仅用于测试)并打破圆圈(例如删除
ProductDetail
Product
之间的FK),则不会出现错误

也检查一下

希望我能帮忙

可能重复的