Berikut adalah contoh yang menunjukkan perilaku yang Anda lihat:
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.
dokumentasi mengatakan "SQL*Plus memanggil GET_LINES setelah mengeluarkan pernyataan SQL atau panggilan PL/SQL anonim."
Dan prosedur GET_LINES mengatakan "Prosedur ini mengambil larik baris dari buffer."
Dengan PUT Anda belum menyelesaikan baris Anda. Jadi tidak dicetak.
Prosedur NEW_LINE menyebutkan hal ini juga:"Prosedur ini menempatkan penanda akhir baris. Prosedur GET_LINE dan Prosedur GET_LINES mengembalikan "baris" sebagaimana dibatasi oleh "baris baru". Setiap panggilan ke Prosedur PUT_LINE atau Prosedur NEW_LINE menghasilkan baris yang dikembalikan oleh GET_LINE(S)."
Salam,
Rob.