쿼리에 대한 참조 커서를 반환하는 함수가있는 경우 SQL Developer에서이 결과 집합을 어떻게 볼 수 있습니까? Toad에는 참조 커서의 결과를 볼 수있는 특수 탭이 있습니다.이 기능은 내가 찾고자하는 기능입니다.Oracle SQL Developer : 참조 커서의 결과를 보는 방법?
답변
결과 레코드의 커서 필드를 두 번 클릭하십시오. 오른쪽에는 "..."아이콘이 있습니다. 이것을 클릭하면 내용을 볼 수 있습니다.
안녕하세요, 이전에 물어 보았지만 이제 막 알아 냈습니다. 다른 사람에게 도움이 될 것입니다. 이것이 정확히 당신이 찾고있는 것인지 확신 할 수 없지만, 이것이 저장된 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;
는 sqldeveloper에서 데이터 그리드에서 refcursor를 표시 할 수있는 방법이 없습니다. refcursor를 정의하고 SP를 호출 한 다음 refcursor를 인쇄하면 데이터가 스크립트 출력 창에 평면 텍스트 모드로 인쇄되지만 쿼리 결과 창에는 인쇄되지 않습니다.
SET SERVEROUTPUT ON;
VARIABLE X REFCURSOR;
EXEC PROCEDURE_WITH_OUTPUT_SYS_REFCURSOR(:X);
PRINT X;
매개 변수로 전달할 변수를 설정하는 방법을 알고 계십니까? (커서와 함께 여기 내 코드에서 ... 내가 만들고 "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
나는 심지어 내 작품은 나를 넣어하지 않습니다 ... 그로 볼 수 없다 요즘 Oracle DB 앞에. – quillbreaker
PL/SQL Developer에도 적용됩니다. –