Zde je příklad, který ukazuje chování, které vidíte:
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.
dokumentace říká "SQL*Plus volá GET_LINES po vydání příkazu SQL nebo anonymních volání PL/SQL."
A procedura GET_LINES říká "Tato procedura načte pole řádků z vyrovnávací paměti."
S PUT jste ještě nedokončili svůj řádek. A tak se netiskne.
Procedura NEW_LINE to také zmiňuje:"Tato procedura vloží značku konce řádku. Procedura GET_LINE a procedura GET_LINES vrátí "řádky" oddělené "nové řádky". Každé volání procedury PUT_LINE nebo procedury NEW_LINE vygeneruje řádek který vrací GET_LINE(S)."
S pozdravem
Robe.