Si par "SQL Window" vous voulez dire SQL*PLUS , alors pour imprimer (en utilisant PRINT
commande) le contenu d'un curseur, vous devez déclarer une variable de liaison en dehors du bloc PL/SQL, attribuer une valeur à cette variable de liaison à l'intérieur du bloc PL/SQL en exécutant le bloc, puis imprimer le contenu en utilisant PRINT
commande :
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;
MODIFIER :
Pour voir le contenu d'un curseur dans PL/SQL Developer, comme l'une des options, vous pouvez simplement faire ce qui suit :
- Fenêtre Fichier\Nouveau\Test
- Copiez/Collez votre bloc PL/SQL anonyme ici. Avant cela, supprimez
IO_CURSOR SYS_REFCURSOR;
déclaration de variables. Il n'y en a pas besoin. Modifiez égalementisr_main_view => IO_CURSOR
versisr_main_view => :IO_CURSOR
. Vous devez utiliser une variable de liaison dans ce cas. - Dans la
variables window
en bas de latest window
spécifiez le nom de la variable de votre curseur de référence dont vous voulez voir le contenu (IO_CURSOR
sans point-virgule précédent) et sélectionnez le typecursor
. - Exécutez le bloc en appuyant sur le triangle vert.
- Après l'exécution du bloc PL/SQL, reportez-vous à la colonne
value
de lavariables window
. Appuyez sur le bouton avec des points de suspension pour voir le contenu du curseur de référenceIO_CURSOR
.