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.