这个估计不能用触发器来实现了,因为这要操作同一张表的,会连环触发的!估计只能想其他的办法了。
  我感觉你可以用delete的附加条件来实现不是更好么?
   delete tab where id in (select id from tab start with id=1 connect by prior id =super_id) or id='1';

解决方案 »

  1.   

    这是一棵树,通过super_id 可以看出来啊

    -2
    --3
    ---4
    ----5
    就是在删除树的一个节点时,将其下所有的子项全部删除
      

  2.   

    刚才的写法有点小问题!
    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