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

Откуда:
Сообщений: 48
Oracle Database 12c Enterprise Edition Release 12.1.0.2.0 - 64bit Production

Выполняю вот такой скрипт
begin
  execute immediate ' create or replace procedure test1_a
is
begin
  null
end; ';
raise_application_error(-20000,'Error');
end;


Скрипт выполняется без ошибок т.е. получается, что выполнение прерывается после execute immediate причем без каких либо сообщений об ошибках.

В 11.2 по моему такого не было.
Этот баг как нибудь лечится?
16 фев 17, 15:25    [20218104]     Ответить | Цитировать Сообщить модератору
 Re: Странное поведение Oracle 12c при создании функций/пакетов/процедур с ошибками в тексте  [new]
dmdmdm
Member

Откуда: Нижний Новгород
Сообщений: 798
ln123
по моему такого не было.
Этот баг как нибудь лечится?


Сначала протестировать.
+

Connected to Oracle Database 12c Standard Edition Release 12.1.0.2.0 

SQL> begin
  2    dbms_output.put_line('test0');
  3    execute immediate ' create or replace procedure test1_a
  4  is
  5  begin
  6    null
  7  end; ';
  8  dbms_output.put_line('test1');
  9  raise_application_error(-20000,'Error');
 10  dbms_output.put_line('test2');
 11  end;
 12  /
Warning: PL/SQL procedure successfully completed with compilation errors


Connected to Oracle Database 11g Release 11.2.0.1.0 
SQL> begin
  2    dbms_output.put_line('test0');
  3    execute immediate ' create or replace procedure test1_a
  4  is
  5  begin
  6    null
  7  end; ';
  8  dbms_output.put_line('test1');
  9  raise_application_error(-20000,'Error');
 10  dbms_output.put_line('test2');
 11  end;
 12  /
Warning: PL/SQL procedure successfully completed with compilation errors


А потом читать доку на предмет "баг / не баг".
16 фев 17, 19:21    [20219150]     Ответить | Цитировать Сообщить модератору
 Re: Странное поведение Oracle 12c при создании функций/пакетов/процедур с ошибками в тексте  [new]
ln123
Member

Откуда:
Сообщений: 48
Странно, видимо память меня подвела и на 11.2 поведение такое же как и на 12c (exception не отрабатывает, в output выводится только test0)

А на счет баг/не баг прерывание выполнения без выдачи exception это как то на мой взгляд не правильно.
Если такое поведение описано в документации, то подскажите пожалуйста где именно.
16 фев 17, 22:00    [20219542]     Ответить | Цитировать Сообщить модератору
 Re: Странное поведение Oracle 12c при создании функций/пакетов/процедур с ошибками в тексте  [new]
ln123
Member

Откуда:
Сообщений: 48
Все разобрался, PL/SQL Developer перехватывает ORA-24344 и в результате создается впечатление что ошибки нет, а сервер без всяких предупреждений прервал выполнение :(
16 фев 17, 22:30    [20219605]     Ответить | Цитировать Сообщить модератору
Все форумы / Oracle Ответить