17,089
社区成员
发帖
与我相关
我的任务
分享
CREATE OR REPLACE PROCEDURE get_quanxian_test(
USERNAME IN VARCHAR2 /** 用户名 **/
, o_r OUT ARRAY_LIST /** OUTPUT RESULT **/
)
IS
var_username r_us.username%TYPE;
var_moule_id module.code%TYPE;
var_code module.code%TYPE;
BEGIN
o_r:=NEW ARRAY_LIST();
o_r.EXTEND;o_r(o_r.LAST):='[';
FOR w_rec IN(
select m.title, /**权限名:压力容器管理子系统**/
m.path, /**路径**/
r.username, /**登录名:admin**/
x.moule_id /**权限id**/
from xtqxb x,
r_us r,
module m
where x.role_id=r.role_id
and m.code=x.moule_id
and lengthb(x.moule_id)=2
and r.username=USERNAME
order by r.username,x.moule_id)
LOOP
var_moule_id:=w_rec.moule_id;
IF (var_moule_id IS NOT NULL) THEN
o_r.EXTEND;o_r(o_r.LAST):='{';
o_r.EXTEND;o_r(o_r.LAST):='"url":"'||var_moule_id||'",';
o_r.EXTEND;o_r(o_r.LAST):='"text":"'||w_rec.title||'",';
o_r.EXTEND;o_r(o_r.LAST):='"children":[';
end if;
END LOOP;
for i in 0..o_r.count
loop
dbms_output.put_line(o_r.next(i));
end loop;
END;