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

SET implicit_transactions off



Явные транзакции

Явные транзакции требуют, чтобы пользователь указал начало и ко­нец транзакции, используя следующие команды:

Ø Начало транзакции определяется командой

BEGIN TRAN [SACTION] [имя_транзакции | @имя_переменной_транзакции ]

[WITH MARK [ 'описание_транзакции' ]]

При этом в журнале транзакций фиксируется момент начала транзакции и первона­чальные значения данных;

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

COMMIT [TRANSACTION] [имя_транзакции | @имя_переменной_транзакции]

Ø Внутри транзакции можно создавать точки сохранения. При выполнении следующей команды СУБД сохраняет со­стояние БД в текущей точке и присваивает этому состоянию имя точки сохранения:

SAVE TRAN [ SACTION ][имя_точки_сохранения | @имя_переменной_точки_сохранения]

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

ROLLBACK [TRAN [ SACTION ]] [имя_транзакции | @имя_

переменной_транзакции | имя_точки__сохранеия | @имя_переменной_точки_сохранения]

Эта команда либо отменяет все изменения, сделанные в БД после оператора BEGIN TRANSACTION, либо отменяет изменения, сделанные в БД после точки сохранения, возвращая транзакцию к месту, где был выполнен оператор SAVE TRANSACTION.

Некоторые полезные функции:

Функция @@TRANCOUNT возвращает количество активных транзакций.

Функция @@NESTLEVEL возвращает уровень вложенности транзакции.

Пример 3. Использование точек сохранения.

Пусть применительно к таблице Товар выполняются следующие команды:





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



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