it-swarm.com.de

Grundsätzliches Problem: Grundlegende PL / SQL-Konsolenausgabe?

Ich verwende SQL Developer und möchte den Inhalt einer Variablen mit DBMS_OUTPUT.PUT_LINE () auf der Konsole ausgeben. Ich führe den folgenden Code aus, der die Zahlen 1 bis einschließlich 5 hinzufügt, aber ich sehe keine Ausgabe.

SET SERVEROUTPUT ON;
DECLARE 
n_counter NUMBER := 5; -- Substitute this variable
n_sum     NUMBER := 0;
BEGIN
  WHILE n_counter != 0
  LOOP
    n_sum := n_sum + n_counter;
    n_counter := n_counter -1;
  END LOOP;
  DBMS_OUTPUT.PUT_LINE(n_sum);
END;

Kennen Sie außerdem bessere Ressourcen für die Problembehandlung als die unglaublich umfangreiche Oracle PL/SQL-Dokumentation? [ähnlich wie Java SE7 API?]

25
user1260503

Da Sie SQL Developer verwenden, stehen Ihnen mehrere Optionen zur Verfügung.

Wechseln Sie in SQL Developer zu View | DBMS Output, um sicherzustellen, dass das DBMS-Ausgabefenster sichtbar ist. Wählen Sie im DBMS-Ausgabefenster das "Plus" -Symbol und wählen Sie die Verbindung aus, für die Sie Daten in das DBMS-Ausgabefenster schreiben möchten. Führen Sie dann den PL/SQL-Block im SQL-Arbeitsblattfenster mit dem Rechtspfeil aus (Strg + Eingabetaste in Windows). Die Ausgabe wird im DBMS-Ausgabefenster angezeigt.

Alternativ können Sie auch SQL * Plus SET SERVEROUTPUT ON-Befehl und den PL/SQL-Block im SQL-Arbeitsblatt und führen Sie ihn als Skript aus (F5 in Windows). Dadurch wird die Ausgabe direkt unter der Meldung "Anonymer Block abgeschlossen" im Skriptausgabefenster angezeigt.

Hinweis: Die Dbms-Ausgabe in Oracle Sql Developer zeigt im Ausgabefenster nicht null an. Es wird in eine neue Zeile verschoben, aber bis etwas anderes als null zurückgegeben wird, wissen Sie nicht, dass alle vorherigen Nullen vorhanden sind.

46
Justin Cave