sql >> Database teknologi >  >> RDS >> Oracle

Hvordan udskriver man SYS_REFCURSOR med PLSQLDeveloper-vinduet?

Hvis du med "SQL-vindue" mener SQL*PLUS, så skal du udskrive (ved hjælp af PRINT kommando) indholdet af en markør, skal du erklære en bindingsvariabel uden for PL/SQL-blokken, tildele en værdi til den bindingsvariabel inde i PL/SQL-blokken ved at udføre blokken og derefter udskrive indholdet ved at bruge PRINT kommando:

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;

REDIGER :

For at se indholdet af en markør i PL/SQL Developer, som en af ​​mulighederne, kan du blot gøre følgende:

  1. Fil\Ny\Test-vindue
  2. Kopiér/indsæt din anonyme PL/SQL-blok der. Før dette fjern IO_CURSOR SYS_REFCURSOR; variabel erklæring. Det er der ikke behov for. Skift også isr_main_view => IO_CURSOR til isr_main_view => :IO_CURSOR . Du skal bruge bindevariabel i dette tilfælde.
  3. I vinduet variables window nederst i test window angiv variabelnavnet på din ref-markør, hvis indhold du vil se (IO_CURSOR uden forudgående semikolon ), og vælg skriv cursor .
  4. Udfør blokken ved at trykke på den grønne trekant.
  5. Når PL/SQL-blok er udført henvises til kolonnen value i variables window . Tryk på knappen med ellipse på for at se indholdet af ref-markøren IO_CURSOR .


  1. Lagring af HTML i MySQL:klat eller tekst?

  2. Fyld MySQL registrerer en-til-mange relaterede tabeller i én handling

  3. Automatisk stigning virker ikke for enhedsklassen med sammensat nøgle

  4. Kan du bruge MySQL @ session variabler i C# connectoren?