首页 > 数据库技术 > 详细

oracle递归查询

时间:2015-01-13 17:19:44      阅读:335      评论:0      收藏:0      [点我收藏+]

1、从上往下查询

使用 start with a= ‘起始ID‘ connect by prior a= b

a为子项,b为父项。

select F_CA_CODE,F_CA_PARENTCODE,LEVEL from RGT_UNIT start with F_CA_CODE = 0 connect by prior F_CA_CODE = F_CA_PARENTCODE 

查询结果:

技术分享

其中LEVEL为oracle内置函数

如果加入查询条件需要在start with前面加入:

select F_CA_CODE,F_CA_PARENTCODE,LEVEL from RGT_UNIT where LEVEL=3 start with F_CA_CODE = 0 connect by prior F_CA_CODE = F_CA_PARENTCODE 

查询结果:

技术分享

 2、从下往上查询

使用 start with a= ‘起始ID‘ connect by prior b= a

a为子项,b为父项。

select F_CA_CODE,LEVEL from RGT_UNIT start with F_CA_CODE=10011 connect by  prior  F_CA_PARENTCODE =F_CA_CODE

查询结果:

技术分享

其中LEVEL为oracle内置函数

如果加入查询条件需要在start with前面加入:

select F_CA_CODE,LEVEL from RGT_UNIT where LEVEL=2 start with F_CA_CODE=10011 connect by  prior  F_CA_PARENTCODE =F_CA_CODE

查询结果:

技术分享

 

oracle递归查询

原文:http://www.cnblogs.com/no27/p/4221650.html

(0)
(0)
   
举报
评论 一句话评论(0
关于我们 - 联系我们 - 留言反馈 - 联系我们:wmxa8@hotmail.com
© 2014 bubuko.com 版权所有
打开技术之扣,分享程序人生!