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