求一oracle函数的写法

larkim82 larkim82 墨衍会员 · AI 创作全网分发 墨衍智能分发 通过墨衍一键同步至各平台 可同步平台 CSDN微信公众号微博知乎掘金百家号博客园抖音小红书 你的文章也可以这样分发 墨衍会员 ¥399起/年,写一次发全网 我也要 + 加入社区
现有一张表menu_tree,数据结构如下:
id pid name
3000 0000 单位一
3100 3000 单位二
3110 3100 单位三
3111 3110 单位四
3200 3000 单位五
3210 3200 单位六
3211 3210 单位七

其中id表示当前单位编码,pid表示的是当前单位的上级单位。
我现在想写个oracle函数,能够查询一个单位下的所有单位(包括子单位的下级单位,依次循环),举个例子,我想知道3000下的所有单位,那么pid为3000的有3100和3200两条记录,而3100下又有3110,3110下又有3111,3200下有3210,3210下又有3211,我最后想要的结果应该是3100,3110,3111,3200,3210,3211,我想写个函数传一个参数,就可以查出下面该节点下的所有单位,最后返回的结果为满足条件单位的id.
create or replace function getSubId(id in varchar2) return varchar2 is
Result varchar2(500);
/*
中间部分不知道怎么写了
*/
return Result;
end getSubId;
...全文
评论 15
收藏 已收藏
分享
返回顶部
larkim82
基础和管理 17,379 成员 95,111 内容