L'exemple est donné ci-dessous pour consigner les valeurs d'impression Dbms_Output.Put_Line dans une table dans Oracle. Vous trouverez ci-dessous la structure de la table utilisée dans cet exemple nommé "outputlog" ou vous pouvez créer la vôtre selon vos besoins.
CREATE TABLE OUTPUTLOG( CHAR_COL VARCHAR2(1000 BYTE), PROCNAME VARCHAR2(100 BYTE), LOG_DATE DATE);Et ce qui suit est l'exemple de bloc anonyme PLSQL pour enregistrer la sortie :DECLARE n NUMBER :=100; vcol DBMS_OUTPUT.chararr;BEGIN DBMS_OUTPUT.enable (100000); --- faites quelque chose ici DBMS_OUTPUT.put_line ('première ligne'); --- faites quelque chose ici DBMS_OUTPUT.put_line ('deuxième ligne'); --- faites quelque chose ici DBMS_OUTPUT.put_line ('troisième ligne'); --- obtenir la sortie dans le tableau vcol 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); FIN DE BOUCLE ; COMMIT;END;Notez que j'attribue la valeur de 100 à la variable n et que le nombre de lignes de sortie n'est que de 3, donc il ne bouclera et n'enregistrera que 3 fois car il n'a que 3 lignes en sortie, mais si le tampon de sortie a des lignes plus de 100 qu'il n'enregistrera que 100 lignes, ajustez donc cette valeur de variable en conséquence.