求一oracle函数的写法
现有一张表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;
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;
...全文


基础和管理
