oracle递归查询(转)

来源:互联网 发布:关于碰碰软件 编辑:程序博客网 时间:2024/04/30 07:16

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

 

 

原创粉丝点击