Se por "SQL Window" você quer dizer SQL*PLUS, então para imprimir (usando
PRINT
comando) o conteúdo de um cursor, você precisa declarar uma variável de ligação fora do bloco PL/SQL, atribuir um valor a essa variável de ligação dentro do bloco PL/SQL executando o bloco e imprimir o conteúdo 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 o conteúdo de um cursor no PL/SQL Developer, como uma das opções, basta fazer o seguinte:
- Arquivo\Novo\Janela de teste
- Copie/cole seu bloco PL/SQL anônimo lá. Antes disso, remova
IO_CURSOR SYS_REFCURSOR;
declaração de variável. Não há necessidade disso. Altere tambémisr_main_view => IO_CURSOR
paraisr_main_view => :IO_CURSOR
. Você precisa usar a variável de ligação neste caso. - Na
variables window
na parte inferior datest window
especifique o nome da variável do seu cursor de referência cujo conteúdo deseja ver (IO_CURSOR
sem precedente ponto e vírgula ) e selecione o tipocursor
. - Execute o bloco pressionando o triângulo verde.
- Após a execução do bloco PL/SQL, consulte a coluna
value
davariables window
. Pressione o botão com reticências para ver o conteúdo do cursor refIO_CURSOR
.