Lt304888.ru

Туристические услуги

Автономные транзакции

12-10-2023

Автономные транзакции представляют собой новый метод управления транзакциями. Автономные транзакции позволяют создавать новые подтранзакции (subtransaction), которые могут сохранять или отменять изменения вне зависимости от родительской транзакции.

Содержание

Могут использоваться

  • в анонимных блоках верхнего уровня;
  • в локальных, отдельных или входящих в пакеты процедурах и функциях;
  • в методах объектных типов;
  • в триггерах базы данных.

Когда удобно использовать

  • Проверка, записи которой не могут быть отменены.
  • Ошибка изменяющейся таблицы (Чаще всего она возникает при попытке читать данные из таблицы, в ответ на изменение которой сработал триггер).
  • Выполнение операторов ЯОД в триггерах
  • Запись в базу данных
    • строгая проверка; необходимо знать, какие данные видел каждый из пользователей, или надо записать идентификатор каждой записи, запрошенной у системы;
    • средство создания отчетов позволяет выполнять только SQL-операторы SELECT; абсолютно необходимо по ходу построения отчета вызывать хранимую процедуру, выполняющую ряд вставок (например, заполняющую таблицу параметров для другого отчета).
  • Разработка модульного кода.

Проблемы

  • Невозможность использования в распределенных транзакциях.
  • Автономные транзакции доступны только в среде PL/SQL.
  • Откатывается вся транзакция
  • Временные таблицы уровня транзакции (нельзя одновременно использовать в нескольких транзакциях в одном сеансе).
  • Изменяющиеся таблицы (обязательно проверять корректность каждого триггера)

См. также

Уровни изолированности транзакций

Ссылки

  • http://www.oracle.com/global/ru/oramag/may2001/at.html
  • Автономные транзакции в IBM DB2


Автономные транзакции.

© 2020–2023 lt304888.ru, Россия, Волжский, ул. Больничная 49, +7 (8443) 85-29-01