sql >> Database >  >> RDS >> Oracle

Wordt dbms_output.put() anders gebufferd dan dbms_output.put_line()?

Hier is een voorbeeld dat het gedrag laat zien dat u ziet:

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.

De documentatie zegt "SQL*Plus roept GET_LINES aan na het uitgeven van een SQL-instructie of anonieme PL/SQL-aanroepen."

En procedure GET_LINES zegt:"Deze procedure haalt een reeks regels op uit de buffer."

Met PUT heb je je regel nog niet voltooid. En dus drukt het niet af.

De NEW_LINE procedure vermeldt dit ook:"Deze procedure plaatst een end-of-line marker. De GET_LINE Procedure en de GET_LINES Procedure retourneren "lines" zoals begrensd door "newlines". Elke aanroep naar de PUT_LINE Procedure of NEW_LINE Procedure genereert een lijn dat wordt geretourneerd door GET_LINE(S)."

Met vriendelijke groet,
Rob.




  1. utl_file.fopen Parameters in Oracle

  2. Hoe de records te verwijderen op basis van de vorige en volgende rijen en de datum toe te wijzen op basis van bepaalde voorwaarden?

  3. Proberen gegevens in de SQL-tabel in te voeren met behulp van PHP / Html van het registratieformulier

  4. MySql:is het mogelijk om 'SOM ALS' of 'COUNT IF' te gebruiken?