powered by simpleCommunicator - 2.0.61     © 2026 Programmizd 02
Целевая тема:
Создать новую тему:
Автор:
Закрыть
Цитировать
Форумы / Oracle [игнор отключен] [закрыт для гостей] / Странное поведение Oracle 12c при создании функций/пакетов/процедур с ошибками в тексте
4 сообщений из 4, страница 1 из 1
Странное поведение Oracle 12c при создании функций/пакетов/процедур с ошибками в тексте
    #39405838
ln123
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Oracle Database 12c Enterprise Edition Release 12.1.0.2.0 - 64bit Production

Выполняю вот такой скрипт
Код: plsql
1.
2.
3.
4.
5.
6.
7.
8.
begin
  execute immediate ' create or replace procedure test1_a
is
begin
  null
end; ';
raise_application_error(-20000,'Error');
end;



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

В 11.2 по моему такого не было.
Этот баг как нибудь лечится?
...
Рейтинг: 0 / 0
Странное поведение Oracle 12c при создании функций/пакетов/процедур с ошибками в тексте
    #39406106
dmdmdm
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
ln123по моему такого не было.
Этот баг как нибудь лечится?

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

Код: plsql
1.
2.
3.
4.
5.
6.
7.
8.
9.
10.
11.
12.
13.
14.
15.
16.
17.
18.
19.
20.
21.
22.
23.
24.
25.
26.
27.
28.
29.
30.
31.
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



А потом читать доку на предмет "баг / не баг".
...
Рейтинг: 0 / 0
Странное поведение Oracle 12c при создании функций/пакетов/процедур с ошибками в тексте
    #39406179
ln123
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Странно, видимо память меня подвела и на 11.2 поведение такое же как и на 12c (exception не отрабатывает, в output выводится только test0)

А на счет баг/не баг прерывание выполнения без выдачи exception это как то на мой взгляд не правильно.
Если такое поведение описано в документации, то подскажите пожалуйста где именно.
...
Рейтинг: 0 / 0
Странное поведение Oracle 12c при создании функций/пакетов/процедур с ошибками в тексте
    #39406191
ln123
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Все разобрался, PL/SQL Developer перехватывает ORA-24344 и в результате создается впечатление что ошибки нет, а сервер без всяких предупреждений прервал выполнение :(
...
Рейтинг: 0 / 0
4 сообщений из 4, страница 1 из 1
Форумы / Oracle [игнор отключен] [закрыт для гостей] / Странное поведение Oracle 12c при создании функций/пакетов/процедур с ошибками в тексте
Найденые пользователи ...
Разблокировать пользователей ...
Читали форум (0):
Пользователи онлайн (0):
x
x
Закрыть


Просмотр
0 / 0
Close
Debug Console [Select Text]