删除3节点及其以下的所有子节点
[@more@]今天一个网友问到,如何删除一个父节点下面的所有子节点。
LOVE2008>select * from test;
C_ID P_ID
---------- ----------
1 0
2 1
3 1
4 2
5 2
6 3
9 6
10 9
8 rows selected.
--删除3节点及其以下的所有子节点
LOVE2008>delete from test where c_id in(
2 select c_id from test connect by prior c_id=p_id start with p_id=3
3 union
4 select 3 from dual
5 );
4 rows deleted.
LOVE2008>select * from test;
C_ID P_ID
---------- ----------
1 0
2 1
4 2
5 2
来自 “ ITPUB博客 ” ,链接:http://blog.itpub.net/728254/viewspace-889931/,如需转载,请注明出处,否则将追究法律责任。
转载于:http://blog.itpub.net/728254/viewspace-889931/