在Oracle SQL开发人员中,如果我们从查询浏览器

时间:2017-06-10 10:22:39

标签: oracle plsql oracle-sqldeveloper

当我从

编译并运行程序时,我有点意外

enter image description here

绿色按钮如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

我没有看到任何输出。

任何帮助表示感谢。

1 个答案:

答案 0 :(得分:5)

此过程的唯一输出是输出参数光标。 SQL Developer提供了一种半自动迭代此游标的方法,而SQL * Plus没有 - 但是你的过程没有“返回”那些行,它返回游标。某处必须有代码来迭代光标,获取行,并显示这些行的内容。