Her er et eksempel, der viser den adfærd, du ser:
SQL> exec dbms_output.put_line('hello')
hello
PL/SQL procedure successfully completed.
SQL> exec dbms_output.put('hello again')
PL/SQL procedure successfully completed.
SQL> exec dbms_output.put(' and again')
PL/SQL procedure successfully completed.
SQL> exec dbms_output.new_line
hello again and again
PL/SQL procedure successfully completed.
dokumentationen siger "SQL*Plus kalder GET_LINES efter udstedelse af en SQL-sætning eller anonyme PL/SQL-kald."
Og procedure GET_LINES siger "Denne procedure henter en række linjer fra bufferen."
Med PUT har du ikke afsluttet din linje endnu. Og så udskrives den ikke.
NEW_LINE-proceduren nævner også dette:"Denne procedure sætter en end-of-line-markør. GET_LINE-proceduren og GET_LINES-proceduren returnerer "linjer" som afgrænset af "nye linjer". Hvert kald til PUT_LINE-proceduren eller NEW_LINE-proceduren genererer en linje der returneres af GET_LINE(S)."
Med venlig hilsen
Rob.