Oracle存储过程中的输出数组

Oracle存储过程中的输出数组,oracle,stored-procedures,Oracle,Stored Procedures,我试图在OracleSQLDeveloper中使用简单的存储过程获得表“empDetails”的结果。以下是SP的定义 create or replace PROCEDURE TEST_ALL (all_Cursor OUT SYS_REFCURSOR ) AS BEGIN open all_Cursor for select * from empDetails; END TEST_ALL; 执行存储过程时,我无法在“输出结果”选项卡中查看输出。 但是我可以通过直接SQL查询sele

我试图在OracleSQLDeveloper中使用简单的存储过程获得表“empDetails”的结果。以下是SP的定义

create or replace
PROCEDURE TEST_ALL (all_Cursor OUT SYS_REFCURSOR ) AS 
BEGIN
open all_Cursor for
    select * from empDetails;
END TEST_ALL;
执行存储过程时,我无法在“输出结果”选项卡中查看输出。 但是我可以通过直接SQL查询
select*from empDetails获取数据

有什么线索吗?

用这种方式:

 declare
        a  SYS_REFCURSOR;

        v_emp_detls  empDetails%rowtype;

        begin

         TEST_ALL (all_Cursor=>a );

          loop
            FETCH a INTO v_emp_detls;
                EXIT WHEN a%NOTFOUND;
                DBMS_OUTPUT.PUT_LINE(v_emp_detls.col1||v_emp_detls.col2..and so on);

          end loop;
  end;

另一种方法是使用以下各项:

VARIABLE rc REFCURSOR;

begin
  test_all(:rc);
end;
/

PRINT rc;
它在SQL*Plus和大多数其他GUI中工作,允许您以脚本的形式运行上述内容(例如SQL Developer、Toad等)