русс | укр

Языки программирования

ПаскальСиАссемблерJavaMatlabPhpHtmlJavaScriptCSSC#DelphiТурбо Пролог

Компьютерные сетиСистемное программное обеспечениеИнформационные технологииПрограммирование

Все о программировании


Linux Unix Алгоритмические языки Аналоговые и гибридные вычислительные устройства Архитектура микроконтроллеров Введение в разработку распределенных информационных систем Введение в численные методы Дискретная математика Информационное обслуживание пользователей Информация и моделирование в управлении производством Компьютерная графика Математическое и компьютерное моделирование Моделирование Нейрокомпьютеры Проектирование программ диагностики компьютерных систем и сетей Проектирование системных программ Системы счисления Теория статистики Теория оптимизации Уроки AutoCAD 3D Уроки базы данных Access Уроки Orcad Цифровые автоматы Шпаргалки по компьютеру Шпаргалки по программированию Экспертные системы Элементы теории информации

Откат транзакции и точки сохранения


Дата добавления: 2015-07-09; просмотров: 1033; Нарушение авторских прав


В процессе выполнения транзакции обычно предоставляется возможность проверять успешность ее выполнения путем проверки на наличие ошибок того или иного типа. Тем не менее имеется возможность отменить выполнение всей транзакции даже в результате ее успешного выполнения путем использования команды ROLLBACK, однако она должна быть выполнена до выполнения команды COMMIT. Команда откатывает транзакцию в ее начало, другими словами, база данных возвращается в то состояние, которое она имела до выполнения транзакции. Синтаксис команды следующий:

ROLLBACK [TRANSACTION] [ TO [SAVEPOINT] savepoint

Здесь также можно указать так называемые точки сохранения (контрольные точки), о которых речь пойдет далее. В приводимом примере:

BEGIN TRANSACTION

INSERT INTO FACULTY VALUES (1, "Informatics", "Ivanov", "2/b", 42000)

ROLLBACK TRANSACTION

INSERT INTO FACULTY VALUES (1, "Computer Science", "Petrov", "3/a", 47000)

COMMIT

будет вставлена только вторая строка, так как после вставки первой строки происходит откат транзакции (действие по вставке первой строки аннулируется).

После выполнения предложения COMMIT все действия, имеющиеся в транзакции выполняются. В вязи с этим к данному моменту уже оказывается поздно выполнять откат транзакции.

Откат транзакции приводит к отмене всех действий, выполненных в транзакции к моменту выполнения команды ROLLBACK TRANSACTION. Однако имеется возможность производить откат не всей транзакции, а ее части. Для этого используются так называемые точки сохранения, которые после их определения можно использовать в команде отката транзакции. Синтаксис точек сохранения следующий:

SAVEPOINT savepoint_name

В следующем примере

BEGIN TRANSACTION

UPDATE DEPARTMENT SET Fund = Fund + Fund/10 WHERE Building = "2/3"



SAVEPOINT save_it

DELETE FROM DEPARTMENT WHERE Building = "2/3"

ROLLBACK TO SAVEPOINT save_it

COMMIT

удаление строк не произойдет, так как сразу же после удаления следует откат, к точке сохранения save_it, кото­рая определяется до команды удаления.



<== предыдущая лекция | следующая лекция ==>
Транзакции | Триггеры


Карта сайта Карта сайта укр


Уроки php mysql Программирование

Онлайн система счисления Калькулятор онлайн обычный Инженерный калькулятор онлайн Замена русских букв на английские для вебмастеров Замена русских букв на английские

Аппаратное и программное обеспечение Графика и компьютерная сфера Интегрированная геоинформационная система Интернет Компьютер Комплектующие компьютера Лекции Методы и средства измерений неэлектрических величин Обслуживание компьютерных и периферийных устройств Операционные системы Параллельное программирование Проектирование электронных средств Периферийные устройства Полезные ресурсы для программистов Программы для программистов Статьи для программистов Cтруктура и организация данных


 


Не нашли то, что искали? Google вам в помощь!

 
 

© life-prog.ru При использовании материалов прямая ссылка на сайт обязательна.

Генерация страницы за: 0.116 сек.