oracle根节点递归

本文介绍了如何使用Oracle SQL进行层次查询,通过示例展示了如何从根节点(TOPO_ID=0)开始,递归查询到级别为2的子节点。主要涉及的查询语句包括CONNECT BY 和 START WITH子句,以及LEVEL和PARENT_ID字段的应用。

1.SELECT * FROM ubox_topo;

TOPO_IDPARENT_IDNODE_TYPEHIERARCHYDB_TYPETSOPERATORDELETE_MARK
0-10[0]0  0
100[0]-[1]0  0
200[0]-[2]0  0
300[0]-[3]0  0
410[0]-[1]-[4]0  0
510[0]-[1]-[5]0  0
610[0]-[1]-[6]0  0
710[0]-[1]-[7]0  0
5701[0]-[57]0  0
960[0]-[1]-[6]-[9]0  0
3561[0]-[1]-[6]-[35]0  0
3491[0]-[1]-[6]-[9]-[34]0  0
53511[0]-[51]-[53]0  0
54521[0]-[51]-[52]-[54]0  0
3831[0]-[3]-[38]0  0
5101[0]-[51]0  0
5611[0]-[1]-[56]0  0
5501[0]-[55]0  0
1060[0]-[1]-[6]-[10]0  0
52511[0]-[51]-[52]0  0
6331[0]-[3]-[63]0  0

2.                    SELECT
                    t.TOPO_ID
                    ,LEVEL
                    ,t.PARENT_ID
                    ,HIERARCHY
                    ,t.hierarchy
               
                    FROM ubox_topo t
                    CONNECT BY t.PARENT_ID = PRIOR t.TOPO_ID AND LEVEL=2
                    START WITH t.TOPO_ID = 0

TOPO_IDLEVELPARENT_IDHIERARCHYHIERARCHY
01-1[0][0]
120[0]-[1][0]-[1]
220[0]-[2][0]-[2]
320[0]-[3][0]-[3]
5120[0]-[51][0]-[51]
5520[0]-[55][0]-[55]
5720[0]-[57][0]-[57]
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值