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循环”,怎么回事?我是要通过子节点查找根节点

参考技术A 请列出表结构,查询要求等等 这样才能方便为你解题。 参考技术B 语法是没错,owner是父节点吗?
可能是数据问题,一个子节点挂在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 递归 通过子节点查询根节点的主要内容,如果未能解决你的问题,请参考以下文章

oracle递归查询子节点

oracle 中怎样递归查询出子节点的最上层父节点,并且其父节点是自身

java 找到一节点的所有子节点 是否得递归实现?

oracle 父子关系

JS根据子节点递归获取所有父节点的集合

「SQL归纳」树形结构表的存储与查询功能的实现——通过路径方法(非递归)