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