Сохранение изменений
Функция
Сохранение (фиксация) в БД изменений, внесенных текущей локальной транзакцией.
Спецификация
::=
Синтаксические правила
-
COMMIT
является сокращенной записью (синонимом) фразыCOMMIT WORK
. -
Если
< имя точки сохранения >
задается, то оно должно ссылаться на существующую точку сохранения, созданную операторомSET SAVEPOINT
.commit to savepoint AFTER_SALE;
-
Фиксация изменений выполняется от
-
начала транзакции (в случае отсутствия предыдущих команд
COMMIT TO SAVEPOINT
в той же транзакции); -
нового начала транзакции, установленного после выполнения в текущей транзакции оператора
COMMIT TO SAVEPOINT
до конца транзакции, если не задана конструкцияTO SAVEPOINT
; -
указанной точки сохранения, если
< имя точки сохранения >
задано; -
последней определенной точки сохранения, если
< имя точки сохранения >
в конструкцииTO SAVEPOINT
не задано (или до начала транзакции в случае отсутствия точек сохранения).
-
-
Опции
TO SAVEPOINT
иRELEASE
несовместимы.
Общие правила
-
После выполнения
COMMIT
сделанные изменения становятся постоянными и необратимыми. -
Установленные во время транзакции блокировки отменяются.
-
Если команда
COMMIT
задана без конструкцииTO SAVEPOINT
, то текущая транзакция неявно завершается и начинается новая транзакция. -
Если команда
COMMIT
задана с конструкциейTO SAVEPOINT
, то заданная (или последняя, если< имя точки сохранения >
не задано) точка сохранения сохраняется, а все предшествующие ей удаляются. -
Если при выполнении
COMMIT
произошла ошибка, выполняется автоматическийROLLBACK
к началу транзакции. -
Опция
RELEASE
заставляет автоматически закрывать все подчиненные курсоры соединения (по умолчанию при подтверждении транзакции все подчиненные курсоры соединения, по которому подана командаCOMMIT
, остаются в открытом состоянии).