2009-07-03 6 views

답변

6

결과 레코드의 커서 필드를 두 번 클릭하십시오. 오른쪽에는 "..."아이콘이 있습니다. 이것을 클릭하면 내용을 볼 수 있습니다.

+1

PL/SQL Developer에도 적용됩니다. –

5

안녕하세요, 이전에 물어 보았지만 이제 막 알아 냈습니다. 다른 사람에게 도움이 될 것입니다. 이것이 정확히 당신이 찾고있는 것인지 확신 할 수 없지만, 이것이 저장된 proc를 호출하고 SQL Developer에서 출력을 보는 방법입니다.
SQL Developer에서 proc을 볼 때 마우스 오른쪽 버튼을 클릭하고 '실행'을 선택하거나 Ctrl + F11을 선택하여 PL/SQL 실행 창을 표시하십시오. 이렇게하면 수정해야하는 입력 및 출력 매개 변수가있는 템플릿이 만들어집니다. sys_refcursor의 결과를 리턴하려면 정확히 인 행 유형을 선언해야합니다. select stmt/sys_refcursor는 proc에 의해 리턴됩니다. 아래에서 필자는 출력 필드와 일치하는 "type t_row"를 선언 한 다음 반환 된 sys_refcursor를 반복합니다. t_row이 다음은 SYS_REFCURSOR의 각 행으로 채워됩니다 내 SYS_REFCURSOR 일치하는 경우 :

DECLARE 
    P_CAE_SEC_ID_N NUMBER; 
    P_FM_SEC_CODE_C VARCHAR2(200); 
    P_PAGE_INDEX NUMBER; 
    P_PAGE_SIZE NUMBER; 
    v_Return sys_refcursor; 
    type t_row is record (CAE_SEC_ID NUMBER,FM_SEC_CODE VARCHAR2(7),rownum number, v_total_count number); 
    v_rec t_row; 

BEGIN 
    P_CAE_SEC_ID_N := NULL; 
    P_FM_SEC_CODE_C := NULL; 
    P_PAGE_INDEX := 0; 
    P_PAGE_SIZE := 25; 

    CAE_FOF_SECURITY_PKG.GET_LIST_FOF_SECURITY(
    P_CAE_SEC_ID_N => P_CAE_SEC_ID_N, 
    P_FM_SEC_CODE_C => P_FM_SEC_CODE_C, 
    P_PAGE_INDEX => P_PAGE_INDEX, 
    P_PAGE_SIZE => P_PAGE_SIZE, 
    P_FOF_SEC_REFCUR => v_Return 
); 
    -- Modify the code to output the variable 
    -- DBMS_OUTPUT.PUT_LINE('P_FOF_SEC_REFCUR = '); 
    loop 
    fetch v_Return into v_rec; 
    exit when v_Return%notfound; 
    DBMS_OUTPUT.PUT_LINE('sec_id = ' || v_rec.CAE_SEC_ID || 'sec code = ' ||v_rec.FM_SEC_CODE); 
    end loop; 

END; 
1

는 sqldeveloper에서 데이터 그리드에서 refcursor를 표시 할 수있는 방법이 없습니다. refcursor를 정의하고 SP를 호출 한 다음 refcursor를 인쇄하면 데이터가 스크립트 출력 창에 평면 텍스트 모드로 인쇄되지만 쿼리 결과 창에는 인쇄되지 않습니다.

6
SET SERVEROUTPUT ON; 
VARIABLE X REFCURSOR; 
EXEC PROCEDURE_WITH_OUTPUT_SYS_REFCURSOR(:X); 
PRINT X; 
+0

매개 변수로 전달할 변수를 설정하는 방법을 알고 계십니까? (커서와 함께 여기 내 코드에서 ... 내가 만들고 "pin_customer_last_name_string"에 대한 변수를 설정하기 위해 노력하고있어 /* */ var에 v_customer_cursor의 refcursor;.. /* */ 간부 MYSCHEMA01.MYPACKAGE01 .MYPROCEDURE01 (pin_customer_last_name_string => 'SMITH', pout_customer_cursor => : v_customer_cursor) /* */ 인쇄 v_customer_cursor, /* */ – granadaCoder

+0

나는 심지어 내 작품은 나를 넣어하지 않습니다 ... 그로 볼 수 없다 요즘 Oracle DB 앞에. – quillbreaker