Использование
транзакций
Под транзакцией в системах управления
базами данных понимают логическую единицу работы, которая представляет собой
последовательность нескольких операций, в процессе выполнения которых сохраняется
целостное состояние базы данных. В процессе выполнения транзакции обновляемые
данные временно хранятся в памяти или на локальном диске. Действительные изменения
совершаются только после завершения транзакции. Если что-либо препятствует обновлению
данных, все изменения отменяются и поэтому ваши данные остаются без изменения.
Для управления транзакциями используется
три команды, представленные в табл. 20.7.
Таблица. 20.7. Команды,
используемые для управления транзакциями
|
Команда
|
Назначение
|
|
BEGIN TRANSACTION
|
Инициирует транзакцию
|
|
ROLLBACK
|
Осуществляет откат,
т. е. аннулирует все выполненные в течение транзакции действия
|
|
END TRANSACTION
|
Завершает транзакцию
и сохраняет все выполненные действия в базе данных
|
В некоторых случаях вам может понадобиться
использовать вложенные транзакции, при этом каждая из них должна начинаться
командой BEGIN TRANSACTION и завершаться командой END TRANSACTION. Выполнение
команды ROLLBACK действует только на транзакцию, внутри которой она выполняется.
Команды BEGIN и END TRANSACTION могут находиться в разных функциях или процедурах.