这个估计不能用触发器来实现了,因为这要操作同一张表的,会连环触发的!估计只能想其他的办法了。
我感觉你可以用delete的附加条件来实现不是更好么?
delete tab where id in (select id from tab start with id=1 connect by prior id =super_id) or id='1';
我感觉你可以用delete的附加条件来实现不是更好么?
delete tab where id in (select id from tab start with id=1 connect by prior id =super_id) or id='1';
1
-2
--3
---4
----5
就是在删除树的一个节点时,将其下所有的子项全部删除
SQL> select * from atest;SUPER_ID ID
-------------------- --
0 1
1 2
2 3
3 4
4 5SQL> select id from atest start with id='1' connect by super_id= prior id ;ID
--
1
2
3
4
5SQL> delete atest where id in ( select id from atest start with id='1' connect by super_id= prior id) ;5 rows deleted