Oracle 向上递归、向下递归

复制代码
---- 向上递归
select
distinct orgguid,dtb_orgguid,orgname from dtba_organization a start with orgguid = '2117bc0897e543168fd9702216165c77' connect by prior dtb_orgguid = orgguid
orgguid 最小级别  



---- 向下递归
select distinct orgguid,dtb_orgguid,orgname from dtba_organization a start with dtb_orgguid = '5ca832cb82ed487d9b946890692529fe'
connect by prior orgguid
= dtb_orgguid

dtb_orgguid  最大级别





复制代码

 

复制代码
--查询全部资源信息 
select * from urm_class_info 
--向上遍历树,找到路径直到根节点,指定的是parentid 
select distinct classid,parentid,name 
from urm_class_info 
start with parentid = 'cmdb0000000000000017' 
connect by prior parentid = classid 
--向上遍历树,找到路径直到根节点,指定的是classid,和下面的主要区别就是parentid和classid的位置 
select classid,parentid,name 
from urm_class_info 
start with classid = 'cmdb0000000000000401' 
connect by prior parentid = classid 
--向下遍历整棵树,可以指定classid,来遍历指定节点的树 
select classid,parentid,name 
from urm_class_info 
start with classid = 'cmdb0000000000000017' 
connect by prior classid = parentid 
--向下遍历整棵树,可以指定parentid,来遍历指定parentid节点的树,不包含parentid 
select classid,parentid,name 
from urm_class_info 
start with parentid = 'cmdb0000000000000017' 
connect by prior classid = parentid 
复制代码

 

posted @   幽冥狂_七  阅读(12560)  评论(0编辑  收藏  举报
编辑推荐:
· 基于Microsoft.Extensions.AI核心库实现RAG应用
· Linux系列:如何用heaptrack跟踪.NET程序的非托管内存泄露
· 开发者必知的日志记录最佳实践
· SQL Server 2025 AI相关能力初探
· Linux系列:如何用 C#调用 C方法造成内存泄露
阅读排行:
· Manus爆火,是硬核还是营销?
· 终于写完轮子一部分:tcp代理 了,记录一下
· 别再用vector<bool>了!Google高级工程师:这可能是STL最大的设计失误
· 单元测试从入门到精通
· 震惊!C++程序真的从main开始吗?99%的程序员都答错了
点击右上角即可分享
微信分享提示