Si por "Ventana SQL" quiere decir SQL*PLUS, entonces para imprimir (usando PRINT
comando) el contenido de un cursor, debe declarar una variable de enlace fuera del bloque PL/SQL, asignar un valor a esa variable de enlace dentro del bloque PL/SQL ejecutando el bloque y luego imprimir el contenido usando PRINT
comando:
SQL> variable IO_CURSOR refcursor;
SQL> DECLARE
2 SOME_VAR_1 VARCHAR2(20);
3 SOME_VAR_2 VARCHAR2(20);
4 SOME_VAR_3 DECIMAL;
5 --IO_CURSOR SYS_REFCURSOR;
6 BEGIN
7 SOME_VAR_1 := 'test1';
8 SOME_VAR_2 := 'test2';
9 SOME_VAR_3 := 1;
10 --IO_CURSOR := NULL; -- no need to do that
11 Get_Analysis_Data(p_in_symbol_type => SOME_VAR_1,
12 p_in_symbol => SOME_VAR_2,
13 p_in_isr_id => SOME_VAR_3,
14 isr_main_view => :IO_CURSOR);
15 END;
16 /
SQL> print io_cursor;
EDITAR :
Para ver el contenido de un cursor en PL/SQL Developer, como una de las opciones, simplemente puede hacer lo siguiente:
- Archivo\Nuevo\Ventana de prueba
- Copie/pegue su bloque PL/SQL anónimo allí. Antes de esto, elimine
IO_CURSOR SYS_REFCURSOR;
declaración de variables. No hay necesidad de eso. También cambieisr_main_view => IO_CURSOR
aisr_main_view => :IO_CURSOR
. Debe usar la variable de vinculación en este caso. - En la
variables window
en la parte inferior de latest window
especifique el nombre de la variable de su cursor de referencia cuyo contenido desea ver (IO_CURSOR
sin punto y coma anterior) y seleccione tipocursor
. - Ejecuta el bloque presionando el triángulo verde.
- Después de ejecutar el bloque PL/SQL, consulte la columna
value
de lavariables window
. Presione el botón con puntos suspensivos para ver el contenido del cursor de referenciaIO_CURSOR
.