Oracle
 sql >> Baza danych >  >> RDS >> Oracle

Jak wydrukować SYS_REFCURSOR za pomocą okna PLSQLDeveloper?

Jeśli przez "Okno SQL" masz na myśli SQL*PLUS, to do wydruku (używając PRINT polecenie) zawartość kursora, musisz zadeklarować zmienną bind poza blokiem PL/SQL, przypisać wartość tej zmiennej bind wewnątrz bloku PL/SQL, wykonując blok, a następnie wydrukować zawartość za pomocą PRINT polecenie:

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;

EDYTUJ :

Aby zobaczyć zawartość kursora w PL/SQL Developer, jako jedną z opcji, możesz po prostu wykonać następujące czynności:

  1. Plik\Nowe\Okno testowe
  2. Skopiuj/wklej tam swój anonimowy blok PL/SQL. Przed tym usuń IO_CURSOR SYS_REFCURSOR; deklaracja zmiennej. Nie ma takiej potrzeby. Zmień także isr_main_view => IO_CURSOR do isr_main_view => :IO_CURSOR . W tym przypadku musisz użyć zmiennej bind.
  3. W oknie variables window na dole test window podaj nazwęzmiennej kursora odnośnika którego zawartość chcesz zobaczyć (IO_CURSOR bez poprzedzającego średnika ) i wybierz typ cursor .
  4. Wykonaj blok, naciskając zielony trójkąt.
  5. Po wykonaniu bloku PL/SQL odnieś się do kolumny value okna variables window . Naciśnij przycisk z wielokropkiem, aby zobaczyć zawartość kursora odnośnika 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. CASE .. WHEN wyrażenie w Oracle SQL

  2. Potrzebne wskazówki:Logika backendu SQL do dynamicznego wyboru pola przez użytkowników w interfejsie

  3. Uzyskaj DŁUGOŚĆ DŁUGICH RAW

  4. Klucze podstawowe i indeksy w języku zapytań Hive są poosible czy nie?

  5. Dlaczego moje pesymistyczne blokowanie w JPA z Oracle nie działa?