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

Откуда: Нерезиновая
Сообщений: 3732
Может быть? Или только один в конце?
24 янв 07, 15:00    [3687927]     Ответить | Цитировать Сообщить модератору
 Re: Несколько коммитов внутри одной автномной транзакции  [new]
andrey_anonymous
Member

Откуда: Москва
Сообщений: 18351
SQL> declare
  2  pragma autonomous_transaction;
  3  begin
  4  commit;
  5  commit;
  6  commit;
  7  end;
  8  /

PL/SQL procedure successfully completed

SQL> 
24 янв 07, 15:01    [3687942]     Ответить | Цитировать Сообщить модератору
 Re: Несколько коммитов внутри одной автномной транзакции  [new]
Andrew Max
Member

Откуда:
Сообщений: 1045
madiken
Может быть? Или только один в конце?

PL/SQL User's Guide and Reference Release 2
COMMIT and ROLLBACK end the active autonomous transaction but do not exit the autonomous routine. ... when one transaction ends, the next SQL statement begins another transaction.

Т.е. в случае commit-а/rollback-а в процедуре, оформленной с PRAGMA AUTONOMOUS_TRANSACTION, последующие операторы этой же процедуры будут выполняться в новой автономной транзакции.
24 янв 07, 15:17    [3688091]     Ответить | Цитировать Сообщить модератору
 Re: Несколько коммитов внутри одной автномной транзакции  [new]
Maxim Demenko
Member

Откуда: Munich, Germany
Сообщений: 940
madiken
Может быть? Или только один в конце?


Вопрос какой-то некрасивый (ничего личного ;-).
В принципе, "внутри" не может.

RTFM

COMMIT and ROLLBACK end the active autonomous transaction but do not exit the autonomous routine. When one transaction ends, the next SQL statement begins another transaction. A single autonomous routine could contain several autonomous transactions, if it issued several COMMIT statements.

Best regards

Maxim
24 янв 07, 15:19    [3688116]     Ответить | Цитировать Сообщить модератору
 Re: Несколько коммитов внутри одной автномной транзакции  [new]
Jannny
Member

Откуда: Спб
Сообщений: 6424
Andrew Max
Т.е. в случае commit-а/rollback-а в процедуре, оформленной с PRAGMA AUTONOMOUS_TRANSACTION, последующие операторы этой же процедуры будут выполняться в новой автономной транзакции.
Чего-то задумалась, а к чему "неожиданному" может привести неучет этого? Ну кроме, понятное дело, явного использования каких-нибудь атрибутов транзакции типа local_transaction_id etc.
25 янв 07, 11:15    [3691820]     Ответить | Цитировать Сообщить модератору
Все форумы / Oracle Ответить