PL / SQL - DBMS-Ausgabe

In diesem Kapitel werden wir die DBMS-Ausgabe in PL / SQL diskutieren. DasDBMS_OUTPUTist ein integriertes Paket, mit dem Sie Ausgaben anzeigen, Informationen debuggen und Nachrichten von PL / SQL-Blöcken, Unterprogrammen, Paketen und Triggern senden können. Wir haben dieses Paket bereits in unserem Tutorial verwendet.

Schauen wir uns ein kleines Code-Snippet an, das alle Benutzertabellen in der Datenbank anzeigt. Versuchen Sie es in Ihrer Datenbank, um alle Tabellennamen aufzulisten -

BEGIN 
   dbms_output.put_line  (user || ' Tables in the database:'); 
   FOR t IN (SELECT table_name FROM user_tables) 
   LOOP 
      dbms_output.put_line(t.table_name); 
   END LOOP; 
END; 
/

DBMS_OUTPUT-Unterprogramme

Das DBMS_OUTPUT-Paket enthält die folgenden Unterprogramme:

S.No. Unterprogramm & Zweck
1

DBMS_OUTPUT.DISABLE;

Deaktiviert die Nachrichtenausgabe.

2

DBMS_OUTPUT.ENABLE(buffer_size IN INTEGER DEFAULT 20000);

Aktiviert die Nachrichtenausgabe. Ein NULL-Wert vonbuffer_size steht für unbegrenzte Puffergröße.

3

DBMS_OUTPUT.GET_LINE (line OUT VARCHAR2, status OUT INTEGER);

Ruft eine einzelne Zeile gepufferter Informationen ab.

4

DBMS_OUTPUT.GET_LINES (lines OUT CHARARR, numlines IN OUT INTEGER);

Ruft ein Array von Zeilen aus dem Puffer ab.

5

DBMS_OUTPUT.NEW_LINE;

Setzt eine Zeilenende-Markierung.

6

DBMS_OUTPUT.PUT(item IN VARCHAR2);

Platziert eine Teilzeile im Puffer.

7

DBMS_OUTPUT.PUT_LINE(item IN VARCHAR2);

Platziert eine Zeile im Puffer.

Beispiel

DECLARE 
   lines dbms_output.chararr; 
   num_lines number; 
BEGIN 
   -- enable the buffer with default size 20000 
   dbms_output.enable; 
   
   dbms_output.put_line('Hello Reader!'); 
   dbms_output.put_line('Hope you have enjoyed the tutorials!'); 
   dbms_output.put_line('Have a great time exploring pl/sql!'); 
  
   num_lines := 3; 
  
   dbms_output.get_lines(lines, num_lines); 
  
   FOR i IN 1..num_lines LOOP 
      dbms_output.put_line(lines(i)); 
   END LOOP; 
END; 
/

Wenn der obige Code an der SQL-Eingabeaufforderung ausgeführt wird, wird das folgende Ergebnis ausgegeben:

Hello Reader! 
Hope you have enjoyed the tutorials! 
Have a great time exploring pl/sql!  

PL/SQL procedure successfully completed.