oracle 递归 通过子节点查询根节点
Posted
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了oracle 递归 通过子节点查询根节点相关的知识,希望对你有一定的参考价值。
select sectype.thekey,sectype.name
from sectype
start with sectype.thekey = '8708'
connect by prior sectype.owner = sectype.thekey
这段代码报错,提示“用户数据中的connect by循环”,怎么回事?我是要通过子节点查找根节点
可能是数据问题,一个子节点挂在2个根节点下面了本回答被提问者采纳
oracle 父子关系
语句递归查找父子关系语句
表结构及数据
1.通过根节点遍历子节点
select t.*,LEVEL from Test2 t START WITH t.parentid=0 CONNECT BY PRIOR t.id = t.parentid
2.通过子节点向根节点追溯
select t.*,LEVEL from Test2 t START WITH t.id=\'13\' CONNECT BY PRIOR t.parentid = t.id
3.查找直接子节点(下一层)
select t.*,LEVEL from Test2 t where LEVEL = 2 START WITH t.parentid=0 CONNECT BY PRIOR t.id = t.parentid
4.查找孙节点
select t.*,LEVEL from Test2 t where LEVEL = 3 START WITH t.parentid=0 CONNECT BY PRIOR t.id = t.parentid
5.查找父节点(直接上级)
select t.*,LEVEL from Test2 t where LEVEL = 2 START WITH t.id=\'13\' CONNECT BY PRIOR t.parentid = t.id
以上是关于oracle 递归 通过子节点查询根节点的主要内容,如果未能解决你的问题,请参考以下文章