powered by simpleCommunicator - 2.0.61     © 2026 Programmizd 02
Целевая тема:
Создать новую тему:
Автор:
Закрыть
Цитировать
Форумы / Oracle [игнор отключен] [закрыт для гостей] / связка transaction+exception
4 сообщений из 4, страница 1 из 1
связка transaction+exception
    #32087645
Alexander Sobyanin
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
Откатывает ли возникновение исключения вставленные записи?
В третьем инсерте имеет деление на ноль, но до этого по идее должны были вставиться 1 и 2. Но остается только 2. Почему откатывается вставка числа 2?
Где прочитать про эту "особенность"?
Заранее спасибо.

SQL> create table t2 (col number);
Table created.
SQL> begin insert into t2 values(1); end;
/
PL/SQL procedure successfully completed.
SQL> begin insert into t2 values(2); insert into t2 values(1/0); end;
/
begin
*
ERROR at line 1:
ORA-01476: divisor is equal to zero
ORA-06512: at line 3
SQL> select * from t2;

COL
----------
1
...
Рейтинг: 0 / 0
связка transaction+exception
    #32087667
Фотография Denis Popov
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Скорее всего:
PL/SQL User's Guide and Reference
Overview of Transaction Processing in PL/SQL
http://download-west.oracle.com/docs/cd/B10501_01/appdev.920/a96624/06_ora.htm#1990

Действительно, при возникновении exception'а оракл автоматически откатывает не все, а до некоей "implicit savepoint", в приводимой ссылке фраза про нее встречается сплошь и рядом. Самая, на мой взгляд, вразумляющая фраза приведена здесь: http://download-west.oracle.com/docs/cd/B10501_01/appdev.920/a96624/06_ora.htm#2122

Если думать о pl/sql-блоке begin..end как о "subprogram", то вроде как все встает на свои места.
...
Рейтинг: 0 / 0
связка transaction+exception
    #32087802
Фотография javajdbc
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
если комита не было, то 1 будет виден
тол'ко в данной сессии. Какой автокомит моде?

ЙЙ
...
Рейтинг: 0 / 0
связка transaction+exception
    #32087886
Alexander Sobyanin
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
2Попов Денис:
Спасибо Денис, теперь все понятно и действительно стало на свои места.

2javajdbc:
Тут не интересовали другие сессии, автокаммит естественно был выключен.
...
Рейтинг: 0 / 0
4 сообщений из 4, страница 1 из 1
Форумы / Oracle [игнор отключен] [закрыт для гостей] / связка transaction+exception
Найденые пользователи ...
Разблокировать пользователей ...
Читали форум (0):
Пользователи онлайн (0):
x
x
Закрыть


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