Oracle
 sql >> база данни >  >> RDS >> Oracle

Как да отпечатате SYS_REFCURSOR с прозорец на PLSQLDeveloper?

Ако под "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, като една от опциите, можете просто да направите следното:

  1. Файл\Нов\Тестов прозорец
  2. Копирайте/поставете своя анонимен PL/SQL блок там. Преди това премахнете IO_CURSOR SYS_REFCURSOR; декларация на променлива. Няма нужда от това. Също така променете isr_main_view => IO_CURSOR към isr_main_view => :IO_CURSOR . В този случай трябва да използвате свързваща променлива.
  3. В variables window в долната част на test window посочете името на променливата на вашия референтен курсор, чието съдържание искате да видите (IO_CURSOR без точка и запетая преди) и изберете тип cursor .
  4. Изпълнете блока, като натиснете зеления триъгълник.
  5. След като PL/SQL блокът бъде изпълнен, вижте колоната value на variables window . Натиснете бутона с многоточие върху него, за да видите съдържанието на референтния курсор IO_CURSOR .


  1. Database
  2.   
  3. Mysql
  4.   
  5. Oracle
  6.   
  7. Sqlserver
  8.   
  9. PostgreSQL
  10.   
  11. Access
  12.   
  13. SQLite
  14.   
  15. MariaDB
  1. Изгледът ALL_PROCEDURES не показва PROCEDURE_NAME

  2. Връщане на стойността на sql променлива от Oracle Sql заявка обратно към .NET код

  3. Неподдържан тип данни на колона ODP.NET

  4. Как мога да използвам регулярен израз за разделяне на низ, като използвам низ като разделител?

  5. Получаване на времевия печат на файл с помощта на PL/SQL