
El ejemplo se proporciona a continuación para registrar los valores de impresión de Dbms_Output.Put_Line en una tabla en Oracle. A continuación se muestra la estructura de la tabla que se utiliza en este ejemplo llamada "registro de salida" o puede crear la suya propia según sus necesidades.
CREATE TABLE OUTPUTLOG( CHAR_COL VARCHAR2(1000 BYTE), PROCNAME VARCHAR2(100 BYTE), LOG_DATE DATE); Y el siguiente es el ejemplo de bloque anónimo PLSQL para registrar la salida:DECLARE n NUMBER :=100; vcol DBMS_OUTPUT.chararr;COMENZAR DBMS_OUTPUT.habilitar (100000); --- haga algo aquí DBMS_OUTPUT.put_line ('primera línea'); --- haga algo aquí DBMS_OUTPUT.put_line ('segunda línea'); --- haga algo aquí DBMS_OUTPUT.put_line ('tercera línea'); --- obtenga la salida en la matriz vcol DBMS_OUTPUT.get_lines (vcol, n); FOR i IN 1 .. n LOOP INSERT INTO outputlog (char_col, procname, log_date) VALUES (vcol (i), 'anónimo', SYSDATE); FIN DEL BUCLE; COMMIT;END;Tenga en cuenta que asigno el valor de 100 a la variable n y el número de líneas de salida es solo 3, por lo que se repetirá y grabará solo 3 veces porque solo tiene 3 filas en la salida, pero si el búfer de salida tiene filas más de 100 de lo que registrará solo 100 filas, así que ajuste el valor de esta variable en consecuencia.