Главная Случайная страница Контакты | Мы поможем в написании вашей работы! | ||
|
Например, после создания таблицы (выполнения оператора CREATE TABLE) не нужно фиксировать результат, поскольку создание таблицы фиксируется в базе данных автоматически.
Или, например, с помощью команды отмены транзакции не удастся восстановить только что удаленную оператором DROP TABLE таблицу.
Нужно иметь в виду, что после успешного выполнения отдельных команд, заключенных в тело одной транзакции, немедленного изменения данных не происходит.
После завершения транзакции вся информация о произведенных изменениях хранится либо в специально выделенной оперативной памяти, либо во временной области отката в самой базе данных до тех пор, пока не будет выполнена одна из команд управления транзакциями:
• COMMIT - для сохранения изменений;
• ROLLBACK - для отмены изменений;
• SAVEPOINT - для установки особых точек возврата.
Тогда все изменения или фиксируются в базе данных, или отбрасываются и временная область отката освобождается.
Команда COMMIT предназначена для сохранения в базе данных всех изменений, произошедших в ходе выполнения транзакции. Она сохраняет результаты всех операций, которые имели место после выполнения последней команды COMMIT или ROLLBACK.
Команда ROLLBACK предназначена для отмены транзакций, еще не сохраненных в базе данных. Она отменит только те транзакции, которые начались с момента выполнения последней команды COMMIT или ROLLBACK.
Команда SAVEPOINT (точка сохранения) предназначена для установки в транзакции особых точек, до которых в дальнейшем может быть произведен откат (при этом отката всей транзакции не происходит).
Команда имеет следующий вид:
SAVEPOINT [имя_точки_сохранения | @переменная точки сохранения]
Команда служит исключительно для создания точек сохранения среди операторов, ориентированных на изменение данных.
Имя точки сохранения в связанной с ней группе транзакций должно быть уникальным.
Для отмены действия группы транзакций, ограниченных точками сохранения, используется команда ROLLBACK со следующим синтаксисом:
ROLLBACK TO [имя_точки_сохранения | @переменная точки сохранения]
Поскольку с помощью команды SAVEPOINT крупная транзакция может быть разбита на меньшие, более управляемые группы, ее применение является одним из способов управления транзакциями.
Пример 1.
Дата публикования: 2014-12-08; Прочитано: 283 | Нарушение авторского права страницы | Мы поможем в написании вашей работы!