2016-12-20 4 views
0

Oracle SQL 개발자의 간단한 저장 프로 시저를 사용하여 "empDetails"테이블의 결과를 얻으려고합니다. 나는 저장된 프로 시저를 실행하면 아래 SP 정의Oracle 저장 프로 시저의 출력 배열

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;

실마리가 있습니까?

답변

2

사용이 방법은 :

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; 
1

대안은 다음과 같은 사용하는 것입니다 : SQL * 플러스와 당신이로 위를 실행할 수 있도록 대부분의 다른 GUI를 작동

VARIABLE rc REFCURSOR; 

begin 
    test_all(:rc); 
end; 
/

PRINT rc; 

스크립트 (예 : SQL Developer, Toad 등)