删除父节点同时删除该节点上的所有子节点(oracle)

删除父节点同时删除该节点下的所有子节点(oracle)表结构:表名:node字段:node_id up_node数据:1021314252要

删除父节点同时删除该节点下的所有子节点(oracle)

表结构:

表名:node

字段:node_id up_node

数据:

1    0

2    1

3    1

4     2

5    2

要求:删除该表中的某个节点时,删除该节点下的所有子节点.如删除node_id = 2的节点,需同时删除node_id=4,node_id=5的节点.

方法:

delete node where node_id in(    select node_id from node      start with node=2      connect by prior node_id=up_node );

原本以为要利用递归或临时表的方法,结果发现这么一个语句就够了.