Warning: file_get_contents(/data/phpspider/zhask/data//catemap/3/sql-server-2005/2.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181

Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/ruby-on-rails-3/4.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Sql server 2005 Sql服务-级联删除具有多个路径_Sql Server 2005 - Fatal编程技术网

Sql server 2005 Sql服务-级联删除具有多个路径

Sql server 2005 Sql服务-级联删除具有多个路径,sql-server-2005,Sql Server 2005,我有两个表格,结果和比较结果 ComparedResults有两列引用结果表的主键 我的问题是,如果结果中的一条记录被删除,我希望删除引用已删除记录的ComparedResults中的所有记录,而不管它是一列还是另一列,并且这些列可能引用相同的结果行 结果中的一行可以直接删除,也可以通过第三个表中的删除导致的级联删除来删除 谷歌搜索这可能表明我需要禁用级联删除并重写所有级联删除以使用触发器。那是真的吗?为了避免这种情况,我准备对数据库进行很多重构,因为我的主要领域是面向对象编程,数据库应该“正常

我有两个表格,结果和比较结果

ComparedResults有两列引用结果表的主键

我的问题是,如果结果中的一条记录被删除,我希望删除引用已删除记录的ComparedResults中的所有记录,而不管它是一列还是另一列,并且这些列可能引用相同的结果行

结果中的一行可以直接删除,也可以通过第三个表中的删除导致的级联删除来删除

谷歌搜索这可能表明我需要禁用级联删除并重写所有级联删除以使用触发器。那是真的吗?为了避免这种情况,我准备对数据库进行很多重构,因为我的主要领域是面向对象编程,数据库应该“正常工作”。然而,很难看出重组会有什么帮助,因为我只是想把问题解决一下。。。还是我遗漏了什么

我也有点不知所措,为什么我的初始构造甚至会成为Sql Server的一个问题

欢迎任何意见,非常感谢


丹麦安德斯

是否可以将比较结果分为两个表

编辑:
然后,您可以使用视图来收集结果以显示?还是两个表之间的联接?

是否可以将比较结果拆分为两个表

编辑:
然后,您可以使用视图来收集结果以显示?还是两个表之间的连接?

你说得对。您得到的结果如下:“结果”表已成功保存“ComparedResults”表-无法创建关系“FK_ComparedResults_Results_Ref”。在表“ComparedResults”上引入外键约束“FK_ComparedResults_Results_Ref”可能会导致循环或多个级联路径。指定“在删除时不执行操作”或“在更新时不执行操作”,或修改其他外键约束。无法创建约束。请参阅前面的错误。使用触发器级联删除第二个错误。我想我会选择触发器选项-我需要前进…你是对的。您得到的结果如下:“结果”表已成功保存“ComparedResults”表-无法创建关系“FK_ComparedResults_Results_Ref”。在表“ComparedResults”上引入外键约束“FK_ComparedResults_Results_Ref”可能会导致循环或多个级联路径。指定“在删除时不执行操作”或“在更新时不执行操作”,或修改其他外键约束。无法创建约束。查看前面的错误。使用触发器级联删除第二个错误。我想我会选择触发器选项-我需要继续…嗯,我想我可以,但这只会解决问题,在我看来,我仍然需要一个表来“收集”拆分的表,然后它们仍然会导致多个级联删除路径…然后您可以使用视图来收集结果以显示?或者两个表之间的连接?嗯,我想我可以,但这只会解决问题,在我看来-我仍然需要一个表来“收集”拆分的表,然后它们仍然会导致多个级联删除路径…然后可以使用视图来收集结果以显示?还是两个表之间的连接?