2009-07-03 25 views

Respuesta

6

Haga doble clic en los campos del cursor en su registro de resultados. En el lado derecho hay un ícono "...". Haga clic aquí y verá los contenidos

+1

Se aplica a PL/SQL Developer también. –

5

Hola, sé que esto fue preguntado hace un tiempo, pero acabo de descubrirlo y podría ayudar a alguien más. No estoy seguro de si esto es exactamente lo que está buscando, pero así es como llamo a un proceso almacenado y veo el resultado en SQL Developer.
En SQL Developer al ver el proceso, haga clic derecho y seleccione 'Ejecutar' o seleccione Ctrl + F11 para abrir la ventana Ejecutar PL/SQL. Esto crea una plantilla con los parámetros de entrada y salida que necesita modificar. Para devolver los resultados de un sys_refcursor, debe declarar un tipo de fila que sea exactamente equivalente al stmt/sys_refcursor de selección devuelto por el proceso. A continuación, declaro "tipo t_row" que coincide con mis campos de salida, luego recorro el sys_refcursor devuelto. Si t_row coincide con mi SYS_REFCURSOR entonces se rellena con cada fila de la 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

No hay manera de mostrar una cuadrícula de datos en refcursor en sqldeveloper. podemos definir un refcursor, llamar a SP, luego imprimir refcursor, luego los datos se imprimirán en la ventana de salida del script en un modo de texto plano, pero no en la ventana Resultado de la consulta.

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

¿Sabe cómo configurar una variable para pasar como un parámetro? (Conjuntamente con el cursor En mi código aquí ... Estoy tratando de crear y establecer una variable de "pin_customer_last_name_string" /* */ var refcursor v_customer_cursor;.. /* */ MYSCHEMA01.MYPACKAGE01 exec .MYPROCEDURE01 (pin_customer_last_name_string => 'SMITH', pout_customer_cursor =>: v_customer_cursor); v_customer_cursor /* */ de impresión; /* */ – granadaCoder

+0

ni siquiera puedo mirar en eso ... mi trabajo no me pone frente a un Oracle DB en estos días. – quillbreaker

Cuestiones relacionadas