Добро пожаловать в форум, Guest  >>   Войти | Регистрация | Поиск | Правила | В избранное | Подписаться
Все форумы / Oracle Новый топик    Ответить
 Присвоение результата вывода процедуры в переменную  [new]
Norbertino
Member

Откуда:
Сообщений: 8
Здравствуйте. Пожалуйста подскажите, есть необходимость не меняя кода самой процедуры перехватывать то, что она отдает в output на выход.

При выполнении процедуры:
begin
adm.procedure(p_msisdn => NNNNNNNNNNN,
                        p_type_billing => 'NN',
                        p_date => null,
                        p_account => null,
                        p_debug => null);
end


Выдается в output портянка текста. Как присвоить этот вывод в переменную и записать в ячейку таблицы?
11 апр 19, 09:50    [21858970]     Ответить | Цитировать Сообщить модератору
 Re: Присвоение результата вывода процедуры в переменную  [new]
Stax
Member

Откуда: Ukraine,Lviv
Сообщений: 1869
Norbertino,

GET_LINES procedure
This procedure retrieves an array of lines from the buffer.

.....
stax
11 апр 19, 10:12    [21858988]     Ответить | Цитировать Сообщить модератору
 Re: Присвоение результата вывода процедуры в переменную  [new]
AserYZ
Member

Откуда: Dniepr (Ukraine)
Сообщений: 226
Norbertino, output это что? dbms_output?
11 апр 19, 10:12    [21858989]     Ответить | Цитировать Сообщить модератору
 Re: Присвоение результата вывода процедуры в переменную  [new]
Norbertino
Member

Откуда:
Сообщений: 8
AserYZ
Norbertino, output это что? dbms_output?

Здравствуйте.
Да, dbms_output.
11 апр 19, 13:20    [21859344]     Ответить | Цитировать Сообщить модератору
 Re: Присвоение результата вывода процедуры в переменную  [new]
Stax
Member

Откуда: Ukraine,Lviv
Сообщений: 1869
Norbertino
AserYZ
Norbertino, output это что? dbms_output?

Здравствуйте.
Да, dbms_output.

что не получілось?
SQL> ed
Wrote file afiedt.buf

  1  declare
  2   v_oArray  DBMSOUTPUT_LINESARRAY; --dbms_output.chararr;
  3   v_n number :=2147483647;
  4   procedure p is
  5   begin
  6    dbms_output.put_line('Norbertino 1');
  7    dbms_output.put_line('Norbertino 2');
  8    dbms_output.put_line('Norbertino 3');
  9    dbms_output.put_line('Norbertino 4');
 10    dbms_output.put('Stax');
 11   end;
 12  begin
 13   p;
 14   dbms_output.get_lines(v_oArray, v_n);
 15   dbms_output.put_line('К-во строк '||v_n);
 16   for i in 1../*v_oArray.count*/ v_n loop
 17       dbms_output.put_line( 'Insert: ' || v_oArray(i) );
 18   end loop;
 19* end;
SQL> /
К-во строк 4
Insert: Norbertino 1
Insert: Norbertino 2
Insert: Norbertino 3
Insert: Norbertino 4

PL/SQL procedure successfully completed.


.....
stax
11 апр 19, 14:14    [21859469]     Ответить | Цитировать Сообщить модератору
Все форумы / Oracle Ответить