原文: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控制部门结构树在页面上的布局