Exemplet ges nedan för att logga Dbms_Output.Put_Line-utskriftsvärden i en tabell i Oracle. Nedan är strukturen för tabellen som används i det här exemplet med namnet "outputlog" eller så kan du skapa din egen enligt dina önskemål.
CREATE TABLE OUTPUTLOG( CHAR_COL VARCHAR2(1000 BYTE), PROCNAME VARCHAR2(100 BYTE), LOG_DATE DATE);Och följande är PLSQL anonyma blockexempel för att logga utdata:DECLARE n NUMBER :=100; vcol DBMS_OUTPUT.chararr;BEGIN DBMS_OUTPUT.enable (100000); --- gör något här DBMS_OUTPUT.put_line ('första raden'); --- gör något här DBMS_OUTPUT.put_line ('andra raden'); --- gör något här DBMS_OUTPUT.put_line ('tredje raden'); --- hämta utdata till vcol-matrisen DBMS_OUTPUT.get_lines (vcol, n); FOR i IN 1 .. n LOOP INSERT INTO outputlog (char_col, procname, log_date) VÄRDEN (vcol (i), 'anonym', SYSDATE); END LOOP; COMMIT;END; Notera att jag bedömer värdet av 100 till n variabel och antalet utdatalinjer är bara 3 så det kommer att loopa och spela in bara 3 gånger eftersom det bara har 3 rader i utdata, men om utbufferten har rader mer än 100 än det kommer bara att logga 100 rader, så justera detta variabelvärde därefter.