当我从
编译并运行程序时,我有点意外绿色按钮如pic1所示,我从输出变量得到输出。
这是我的简单代码:
CREATE OR REPLACE PROCEDURE RUNPROCEDURE
(P_para1 in EMP.ID%type,P_PARA out SYS_REFCURSOR)
AS
BEGIN
OPEN P_PARA FOR
SELECT *
FROM emp
WHERE ID = P_para1;
END RUNPROCEDURE;
但是当我从查询浏览器运行时,我没有看到任何输出:=
set serveroutput on;
declare P_PARA1 number;
P_PARA SYS_REFCURSOR;
begin
RUNPROCEDURE(
P_PARA1 => 2,
P_PARA => P_PARA
) ;
end;
/
只显示
PL/SQL procedure successfully complete
我没有看到任何输出。
任何帮助表示感谢。
答案 0 :(得分:5)
此过程的唯一输出是输出参数光标。 SQL Developer提供了一种半自动迭代此游标的方法,而SQL * Plus没有 - 但是你的过程没有“返回”那些行,它返回游标。某处必须有代码来迭代光标,获取行,并显示这些行的内容。