MS SQL是否使用ON DELETE CASCADE选项限制自引用约束?我有一个具有父子关系的表,PARENT_ID列是ID的外键。使用ON DELETE CASCADE选项创建它会导致错误
“引入FOREIGN KEY约束可能会导致循环或多个级联路径。请指定ON DELETE NO ACTION或ON UPDATE NO ACTION,或修改其他FOREIGN KEY约束。”
我不敢相信我必须以递归方式删除此层次结构。除了触发器,还有其他问题吗?
在这种情况下,您无法在具有自引用约束的表上设置ON DELETE CASCADE。可能存在循环逻辑问题,因此不允许这样做。
有一个很好的文章在这里-尽管它是8,而不是SQL版本9 -尽管适用同样的规则。