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