sql – CASCADE在多对多自引用表中删除
下面的表DISPLAY_TAB是一个自引用表,可以包含父选项卡和子选项卡.父选项卡可以有多个子选项卡,子选项卡可以属于多个父选项卡. 我想在主表和关系表DISPLAY_TAB_GROUPING之间建立一个CASCADE DELETE关系,这样当删除父或子选项卡时 – 关系也会自动删除(只是关系,而不是实际的选项卡记录).所以我在DISPLAY_TAB_GROUPING上为字段TAB_ID_R_1和TAB_ID_R_2表创建一个FOREIGN KEY约束,引用DISPLAY_TAB表中的TAB_ID.并且它工作正常,当我为其中一个关系添加ON DELETE CASCADE时它工作正常,但是当我为它们尝试它时 – 它会抛出一个错误,这个“可能导致循环或多个级联路径”. 如何为两种关系设置ON CASCADE DELETE?我不知道这会如何导致循环 – 每次删除主表中的记录时,只应删除关系表中的相关记录. 解决方法阅读 this KB文章,其中包括以下内容……
要做你想做的事,DISPLAY_TAB_GROUPING表必须出现两次.我建议您使用实现删除代码的存储过程. (编辑:青岛站长网) 【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容! |