oracle 树形查询函数,Oracle通过自定函数查询表中的树形结构

表的树形结构:

select * from org_group2;

树形结构通过UUID来关联实现,group_uuid,组的UUID,parent_uuid,父组的UUID,group_name为组名称。

实现功能:

根据组的UUID,查询出所有父组的名称,直到顶级节点。

创建自定义函数:create or replace function Get_Group_Tree_Name(

v_uuid varchar2

)

return varchar2 is

rest varchar2(1024);

begin

select replace(wm_concat(g.group_name), ',', '

start with g.group_uuid = v_uuid

connect by prior g.parent_uuid = g.group_uuid;

return rest;

end;

wm_concat()列转行函数:

select wm_concat(g.group_name) from org_group2 g;

replace()替换函数,将','替换为'

select replace(wm_concat(g.group_name), ',','

查询所有名称:

select Get_Group_Tree_Name(group_uuid) from org_group2;

结果内容展示:

四级节点

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值