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

Има ли някакъв начин за изчистване на изхода от PL/SQL в Oracle?

Не точно. Начинът, по който DBMS_OUTPUT работи, е следният:Вашият PL/SQL блок се изпълнява на сървъра на базата данни без взаимодействие с клиента. Така че, когато извикате PUT_LINE, той просто поставя този текст в буфер в паметта на сървъра. Когато вашият PL/SQL блок завърши, контролът се връща на клиента (предполагам, че SQLPlus в този случай); в този момент клиентът изважда текста от буфера чрез извикване на GET_LINE и го показва.

Така че единственият начин да накарате изхода да се появява в регистрационния файл по-често е да разбиете голям PL/SQL блок на множество по-малки блокове, така че контролът да се връща на клиента по-често. Това може да не е практично в зависимост от това какво прави вашият код.

Други алтернативи са да използвате UTL_FILE за запис в текстов файл, който може да бъде изтрит, когато пожелаете, или да използвате процедура за автономна транзакция, за да вмъкнете оператори за отстраняване на грешки в таблица на база данни и да запишете след всеки един.



  1. Database
  2.   
  3. Mysql
  4.   
  5. Oracle
  6.   
  7. Sqlserver
  8.   
  9. PostgreSQL
  10.   
  11. Access
  12.   
  13. SQLite
  14.   
  15. MariaDB
  1. как да възстановите резервна база данни от липсващ архивен дневник

  2. ORA-00933:SQL командата не е приключила правилно

  3. изберете rownum от заплата, където rownum=3;

  4. ALTER &DROP Table DDL с непосредствено изпълнение в базата данни на Oracle

  5. Как да актуализирате с вътрешно присъединяване в Oracle