创建pl / sql,它返回Oracle中的过程列表

时间:2013-09-25 17:34:38

标签: sql oracle

我正在尝试列出数据库中的过程和触发器,但我必须使用过程或函数来执行此操作。

此查询完全返回我需要的内容,但我需要使用PL / SQL获得相同的结果。

select *
  from all_source
 where type = 'PROCEDURE'

此查询完全返回我需要的内容,但我必须使用PL / SQL获得相同的结果。

谢谢

2 个答案:

答案 0 :(得分:0)

试试这个

declare record all_source%ROWTYPE
begin
select * into record from all_source where type = ?
end;

答案 1 :(得分:0)

尝试使用以下程序,

CREATE OR REPLACE 
PROCEDURE get_proc_list(
          i_type IN VARCHAR2,
          o_result OUT sys_refcursor)
IS
     l_type VARCHAR2(10) := UPPER(i_type);
BEGIN
    OPEN o_result FOR
    SELECT * FROM all_source
    WHERE  TYPE = l_type;
END;

执行程序

var o_result refcursor;
EXECUTE get_proc_list('procedure',:o_result);
print o_result;