Сохранение изменений (COMMIT)
Функция
Сохранение (фиксация) в БД изменений, внесенных текущей локальной транзакцией.
Спецификация
::=Синтаксические правила
-
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, остаются в открытом состоянии).