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

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

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

Содержание

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

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

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

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

Проблемы

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

См. также

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

Ссылки



Wikimedia Foundation. 2010.

Игры ⚽ Поможем сделать НИР

Полезное


Смотреть что такое "Автономные транзакции" в других словарях:

  • Транзакция — Не следует путать с трансакция. Транзакция (англ. transaction)  в информатике, группа последовательных операций, которая представляет собой логическую единицу работы с данными. Транзакция может быть выполнена либо целиком и успешно,… …   Википедия

  • Транзакция (информатика) — У этого термина существуют и другие значения, см. Транзакция (значения). Транзакция (англ. transaction)  группа последовательных операций с базой данных, которая представляет собой логическую единицу работы с данными. Транзакция может… …   Википедия

  • Oracle (СУБД) — У этого термина существуют и другие значения, см. Oracle. Oracle Database Тип Объектно реляционн …   Википедия

  • Oracle Database — У этого термина существуют и другие значения, см. Oracle (значения). Oracle Database Тип …   Википедия

  • MySQL — Логотип MySQL Тип Реляционная СУБД Разработчик MySQL AB (до 2008), Sun Microsystems (2008 2010 …   Википедия

  • PostgreSQL — Логотип PostgreSQL Тип Объектно реля …   Википедия


Поделиться ссылкой на выделенное

Прямая ссылка:
Нажмите правой клавишей мыши и выберите «Копировать ссылку»