Студопедия.Орг Главная | Случайная страница | Контакты | Мы поможем в написании вашей работы!  
 

В) Вложенные транзакции



Вложенными называются транзакции, выполнение которых иници­ируется из тела уже активной транзакции.

Для создания вложенной транзакции пользователю не нужны какие-либо дополнительные команды. Он просто начинает новую транзакцию, не закрыв предыдущую. Завершение транзакции верхнего уровня откладывает­ся до завершения вложенных транзакций.

Если транзакция самого нижнего вложенного уровня завершена неудачно и отменена, то все транзакции верхнего уровня, включая транзакцию первого уровня, будут отменены.

Кроме того, если несколько транзакций нижнего уровня были завершены успешно (но не зафиксированы), однако на среднем уровне (не самая верх­няя транзакция) неудачно завершилась другая транзакция, то в соответствии с требованиями ACID произойдет откат всех транзакций всех уровней, включая успешно завершенные.

Только когда все транзакции на всех уров­нях завершены успешно, происходит фиксация всех сделанных изменений.

Каждая команда COMMIT TRANSACTION работает только с последней начатой транзакцией. Да­же если в команде COMMIT TRANSACTION указано имя транзакции более высокого уровня, будет завершена транзакция, начатая последней.

Если где-либо на любом уровне вложенности используется команда ROLLBACK TRAN[SACTION] (без указания имени транзакции), то откатываются все транзакции, включая транзакцию самого верх­него уровня.

Более того, в команде ROLLBACK TRANSACTION разрешается указывать только имя самой верхней транзакции. Имена любых вложенных тран­закций игнорируются, и попытка их указания приведет к ошибке.

Итак, при откате транзакции любого уровня вложенности всегда про­исходит откат всех транзакций.

Если же требуется откатить лишь часть транзакций, можно использовать команду SAVE TRANSACTION, с помо­щью которой создается точка сохранения.

Пример 2. Использование вложенных транзакций





Дата публикования: 2014-12-08; Прочитано: 319 | Нарушение авторского права страницы | Мы поможем в написании вашей работы!



studopedia.org - Студопедия.Орг - 2014-2024 год. Студопедия не является автором материалов, которые размещены. Но предоставляет возможность бесплатного использования (0.005 с)...