我有一个具有自动引用关系的表,如下所示:
表A(IDTableA,IDTableARoot,...)
我有这个而不是删除触发器来删除:
Delete from TableA where IDTableARoot IN(select deleted.IDTableA from deleted)
Delete from TableA where IDTableA IN(select deleted.IDTableA from deleted)
我想我有这两行:
第 1 行:IDTableA:1 IDTableARoot:1
第 2 行:IDTableA:2 IDTableARoot:1
当我尝试删除第 1 行时:
delete from TableA where IDTableA = 1;
只有它被删除了 ID = 1 的行,而不是 ID = 2 的行,但它应该被删除,因为在触发器的第一条语句中我说我必须删除 IDTableARoot = IDTableA 其中 IDTableA 的行是我要删除的行的 ID。
那么,如何删除属于自我关系的级联行?
非常感谢。