Oracle
 sql >> база данни >  >> RDS >> Oracle

Буферира ли се dbms_output.put() различно от dbms_output.put_line()?

Ето един пример, който показва поведението, което виждате:

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.

документация казва "SQL*Plus извиква GET_LINES след издаване на SQL оператор или анонимни PL/SQL извиквания."

И процедурата GET_LINES казва „Тази процедура извлича масив от редове от буфера.“

С PUT все още не сте завършили линията си. И така не се отпечатва.

Процедурата NEW_LINE също споменава това:„Тази процедура поставя маркер за край на реда. Процедурата GET_LINE и процедурата GET_LINES връщат „редове“, разделени от „нови редове“. Всяко извикване на процедурата PUT_LINE или процедурата NEW_LINE генерира ред който се връща от GET_LINE(S)."

Поздрави,
Роб.




  1. Database
  2.   
  3. Mysql
  4.   
  5. Oracle
  6.   
  7. Sqlserver
  8.   
  9. PostgreSQL
  10.   
  11. Access
  12.   
  13. SQLite
  14.   
  15. MariaDB
  1. динамично число на условието where в oracle sql

  2. Oracle SQL - кръгъл - половината

  3. ORACLE SQL получава разлика от две стойности, извлечени от 2 оператора за избор

  4. 3 начина за връщане на часовата зона от стойност на дата и час в Oracle

  5. Сравнете низ в Oracle Case When