oracle遞歸查詢(轉)

原文:http://tomrose.iteye.com/blog/212442

(原文略)

==========

練習

測試數據:

id  deptid  paredeptid name

 1 101 0 總公司                                   AABDGQAA3AAAN01AAA
 2 201 101 廣州分公司                               AABDGQAA3AAAN01AAB
 3 203 101 上海分公司                               AABDGQAA3AAAN01AAC
 4 204 101 武漢分公司                               AABDGQAA3AAAN01AAD
 5 205 101 香港辦事處                               AABDGQAA3AAAN01AAE
 6 301 201 財務部                                   AABDGQAA3AAAN01AAF
 7 302 201 研發部                                   AABDGQAA3AAAN01AAG
 8 303 203 研發部                                   AABDGQAA3AAAN01AAH

 

測試sql:

select t.* from ct_test_recursion t;

--
--Sql代碼
select * from ct_test_recursion start with deptid=303 connect by prior paredeptid=deptid;


--通過根節點遍歷子節點.
--Sql代碼
select * from ct_test_recursion start with paredeptid=0 connect by prior deptid=paredeptid;

--可通過level 關鍵字查詢所在層次.

--Sql代碼
select a.*,level from ct_test_recursion a start with paredeptid=0 connect by prior deptid=paredeptid;  --可以用這個level控制部門結構樹在頁面上的佈局

 

 

發佈了13 篇原創文章 · 獲贊 3 · 訪問量 10萬+
發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章