Das folgende Beispiel zeigt die Druckwerte von Dbms_Output.Put_Line in einer Tabelle in Oracle. Unten ist die Struktur der Tabelle, die in diesem Beispiel verwendet wird, mit dem Namen "outputlog", oder Sie können Ihre eigene nach Ihren Anforderungen erstellen.
CREATE TABLE OUTPUTLOG( CHAR_COL VARCHAR2(1000 BYTE), PROCNAME VARCHAR2(100 BYTE), LOG_DATE DATE); Und das Folgende ist das anonyme PLSQL-Blockbeispiel zum Protokollieren der Ausgabe:DECLARE n NUMBER :=100; vcol DBMS_OUTPUT.chararr;BEGIN DBMS_OUTPUT.enable (100000); --- hier etwas tun DBMS_OUTPUT.put_line ('erste Zeile'); --- hier etwas tun DBMS_OUTPUT.put_line ('zweite Zeile'); --- hier etwas tun DBMS_OUTPUT.put_line ('dritte Zeile'); --- Holen Sie sich die Ausgabe in das vcol-Array DBMS_OUTPUT.get_lines (vcol, n); FOR i IN 1 .. n LOOP INSERT INTO outputlog (char_col, procname, log_date) VALUES (vcol (i), 'anonymous', SYSDATE); SCHLEIFE ENDE; COMMIT;END;Beachten Sie, dass ich den Wert von 100 der n-Variablen zuweise und die Anzahl der Ausgabezeilen nur 3 beträgt, sodass nur dreimal eine Schleife ausgeführt und aufgezeichnet wird, da nur 3 Zeilen in der Ausgabe vorhanden sind, der Ausgabepuffer jedoch Zeilen enthält Bei mehr als 100 werden nur 100 Zeilen protokolliert, also passen Sie diesen Variablenwert entsprechend an.