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

Регистрирайте изхода на DBMS_OUTPUT.Put_Line в таблица в Oracle с DBMS_OUTPUT.Get_Lines

Dbms_Output.Put_Line е добър начин за лесно отстраняване на грешки в PLSQL код, като се разпечатат необходимите стойности, за да се проследи къде нещата се объркат. Но ако искате да регистрирате тези данни за печат в таблица, за да ги анализирате по всяко време, можете да направите това с процедурата Dbms_Output.Get_Lines.

Примерът е даден по-долу за регистриране на стойности за печат на Dbms_Output.Put_Line в таблица в Oracle. По-долу е дадена структурата на таблицата, която се използва в този пример с име "outputlog" или можете да създадете своя собствена според вашите изисквания.

CREATE TABLE OUTPUTLOG( CHAR_COL VARCHAR2(1000 BYTE), PROCNAME VARCHAR2(100 BYTE), LOG_DATE DATE);И по-долу е примерът за PLSQL анонимен блок за регистриране на изхода:DECLARE n NUMBER :=100; vcol DBMS_OUTPUT.chararr;BEGIN DBMS_OUTPUT.enable (100000); --- направете нещо тук DBMS_OUTPUT.put_line ('първи ред'); --- направете нещо тук DBMS_OUTPUT.put_line ('втори ред'); --- направете нещо тук DBMS_OUTPUT.put_line ('трета линия'); --- получаване на изхода в vcol масив DBMS_OUTPUT.get_lines (vcol, n); FOR i IN 1 .. n LOOP INSERT INTO outputlog (char_col, procname, log_date) СТОЙНОСТИ (vcol (i), 'anonymous', SYSDATE); КРАЙНА ПРИМКА; COMMIT;END; Забележете, че задавам стойността от 100 до n променлива и броят на изходните редове е само 3, така че ще се завърти и записва само 3 пъти, защото има само 3 реда в изхода, но ако изходният буфер има редове повече от 100, отколкото ще регистрира само 100 реда, така че коригирайте стойността на тази променлива съответно.
  1. Database
  2.   
  3. Mysql
  4.   
  5. Oracle
  6.   
  7. Sqlserver
  8.   
  9. PostgreSQL
  10.   
  11. Access
  12.   
  13. SQLite
  14.   
  15. MariaDB
  1. Вземете списък с всички функции и процедури в база данни на Oracle

  2. Връзката не може да бъде прехвърлена към oracle.jdbc.OracleConnection

  3. Как да потвърдя имейл адреса с помощта на PL/SQL?

  4. Изчисляване на възрастта на Oracle от дата на раждане и днес

  5. Java SQLData - Прехвърляне към потребителски обект със списък/масив?