Ако под "SQL Window" имате предвид SQL*PLUS, тогава за печат (използвайки PRINT
команда) съдържанието на курсор, трябва да декларирате свързваща променлива извън PL/SQL блока, да присвоите стойност на тази свързваща променлива вътре в PL/SQL блока, като изпълните блока и след това отпечатате съдържанието с помощта на PRINT
команда:
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;
РЕДАКТИРАНЕ :
За да видите съдържанието на курсор в PL/SQL Developer, като една от опциите, можете просто да направите следното:
- Файл\Нов\Тестов прозорец
- Копирайте/поставете своя анонимен PL/SQL блок там. Преди това премахнете
IO_CURSOR SYS_REFCURSOR;
декларация на променлива. Няма нужда от това. Също така променетеisr_main_view => IO_CURSOR
къмisr_main_view => :IO_CURSOR
. В този случай трябва да използвате свързваща променлива. - В
variables window
в долната част наtest window
посочете името на променливата на вашия референтен курсор, чието съдържание искате да видите (IO_CURSOR
без точка и запетая преди) и изберете типcursor
. - Изпълнете блока, като натиснете зеления триъгълник.
- След като PL/SQL блокът бъде изпълнен, вижте колоната
value
наvariables window
. Натиснете бутона с многоточие върху него, за да видите съдържанието на референтния курсорIO_CURSOR
.