oracle 中怎样递归查询出子节点的最上层父节点,并且其父节点是自身
Posted
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了oracle 中怎样递归查询出子节点的最上层父节点,并且其父节点是自身相关的知识,希望对你有一定的参考价值。
参考技术A1、创建测试表,create table test_connect(id number, p_id number);
2、插入测试数据,
insert into test_connect values(1,1);
insert into test_connect values(2,1);
insert into test_connect values(3,2);
insert into test_connect values(4,3);
commit;
3、查询数据表内容,select * from test_connect ,
4、执行递归查询语句,加入nocycle要素,不会出现【ORA-01436: 用户数据中的 CONNECT BY 循环的错误】,执行结果如下,
select *
from test_connect t
start with id = 4
connect by nocycle prior t.p_id = t.id
MySQL怎样做递归查询
参考技术A mysql的逆袭:如何做递归层次查询最近在做一个从oracle数据库到mysql数据库的移植,遇到一个这样的问题
在Oracle 中我们知道有一个 Hierarchical Queries 通过CONNECT BY 我们可以方便的查了所有当前节点下的所有子节点。但shi,在MySQL的目前版本中还没有对应的函数!!!
换句话来说,想要用mysql实现递归查询,根本做不到!!!
可是经过我数天茶不思饭不想的刻苦琢磨,终于想到了一个合理的,适用于mysql和其他sql的解决方案。
方案一出,就秋风扫落叶之势,席卷整个dao层~~~所到之处,所有问题迎刃而解,让所有问题都不再为问题 都成为了我这个函数的炮灰而已。。。
以上是关于oracle 中怎样递归查询出子节点的最上层父节点,并且其父节点是自身的主要内容,如果未能解决你的问题,请参考以下文章