刪除父節點同時刪除該節點下的所有子節點(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 );

原本以爲要利用遞歸或臨時表的方法,結果發現這麼一個語句就夠了.
發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章