Drucken Sie den Wert einer Variablen im SQL Developer

Wollte ich drucken Sie den Wert einer bestimmten variable, die in einen anonymen block. Ich bin mit Oracle SQL Developer. Ich habe versucht, mit dbms_output.put_line. Aber es funktioniert nicht. Die code, die ich benutze, ist unten dargestellt.

SET SERVEROUTPUT ON

DECLARE

  CTABLE USER_OBJECTS.OBJECT_NAME%TYPE;
  CCOLUMN ALL_TAB_COLS.COLUMN_NAME%TYPE;
  V_ALL_COLS VARCHAR2(500);

  CURSOR CURSOR_TABLE
    IS
    SELECT OBJECT_NAME 
    FROM USER_OBJECTS 
    WHERE OBJECT_TYPE='TABLE'
    AND OBJECT_NAME LIKE 'tb_prm_%';

  CURSOR CURSOR_COLUMNS (V_TABLE_NAME IN VARCHAR2)
    IS
    SELECT COLUMN_NAME
    FROM ALL_TAB_COLS
    WHERE TABLE_NAME = V_TABLE_NAME;

BEGIN

  OPEN CURSOR_TABLE;

  LOOP
    FETCH CURSOR_TABLE INTO CTABLE;
    EXIT WHEN CURSOR_TABLE%NOTFOUND;

    OPEN CURSOR_COLUMNS (CTABLE);

    V_ALL_COLS := NULL;

    LOOP
      FETCH CURSOR_COLUMNS INTO CCOLUMN;
      V_ALL_COLS := V_ALL_COLS || CCOLUMN;
      IF CURSOR_COLUMNS%FOUND THEN
        V_ALL_COLS := V_ALL_COLS || ', ';
      ELSE
        EXIT;
      END IF;
    END LOOP;

    DBMS_OUTPUT.PUT_LINE(V_ALL_COLS);

  END LOOP;
  CLOSE CURSOR_TABLE;

END;

Und ich erhalte die Ausgabe nur als anonymous block completed.

output geleert wird bei Ende/Abbruch des Programm, das ist, wie es funktioniert. Sie können nicht Spülen, um anzuzeigen, während dieser läuft. Schauen Sie in die log-Tabellen (autonome Transaktion), um zu sehen, was passiert, während ein Programm ausgeführt wird
Warum nicht mit dem eingebauten debugger und Schritt durch den block. Es zeigt den Zustand aller Variablen.
SET SERVEROUTPUT ON; --add Semikolon, wählen Sie ALLE aus und laufen in den Entwickler, für mich ist es in Ordnung arbeiten,

InformationsquelleAutor 988875 | 2011-10-25

Schreibe einen Kommentar