0

我正在尝试列出数据库中的过程和触发器,但我必须使用过程或函数来这样做。

这个查询返回的正是我需要的,但我需要使用 PL/SQL 获得相同的结果。

select *
  from all_source
 where type = 'PROCEDURE'

这个查询返回的正是我需要的,但我必须使用 PL/SQL 获得相同的结果。

谢谢

4

2 回答 2

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;
于 2013-09-25T18:19:16.957 回答
0

尝试这个

declare record all_source%ROWTYPE
begin
select * into record from all_source where type = ?
end;
于 2013-09-25T17:37:19.183 回答