Доступные версии документации

Сохранение изменений

Функция

Сохранение (фиксация) в БД изменений, внесенных текущей локальной транзакцией.

Спецификация
   
<сохранение изменений>::=
COMMIT [ WORK ] [TO SAVEPOINT [ имя точки сохранения ]][RELEASE]
Синтаксические правила
  1. COMMIT является сокращенной записью (синонимом) фразы COMMIT WORK.

  2. Если <имя точки сохранения> задается, то оно должно ссылаться на существующую точку сохранения, созданную оператором SET SAVEPOINT.

    commit to savepoint AFTER_SALE;
  3. Фиксация изменений выполняется от

    • начала транзакции (в случае отсутствия предыдущих команд COMMIT TO SAVEPOINT в той же транзакции);

    • нового начала транзакции, установленного после выполнения в текущей транзакции оператора COMMIT TO SAVEPOINT до конца транзакции, если не задана конструкция TO SAVEPOINT;

    • указанной точки сохранения, если <имя точки сохранения> задано;

    • последней определенной точки сохранения, если <имя точки сохранения> в конструкции TO SAVEPOINT не задано (или до начала транзакции в случае отсутствия точек сохранения).

  4. Опции TO SAVEPOINT и RELEASE несовместимы.

Общие правила
  1. После выполнения COMMIT сделанные изменения становятся постоянными и необратимыми.

  2. Установленные во время транзакции блокировки отменяются.

  3. Если команда COMMIT задана без конструкции TO SAVEPOINT, то текущая транзакция неявно завершается и начинается новая транзакция.

  4. Если команда COMMIT задана с конструкцией TO SAVEPOINT, то заданная (или последняя, если <имя точки сохранения> не задано) точка сохранения сохраняется, а все предшествующие ей удаляются.

  5. Если при выполнении COMMIT произошла ошибка, выполняется автоматический ROLLBACK к началу транзакции.

  6. Опция RELEASE заставляет автоматически закрывать все подчиненные курсоры соединения (по умолчанию при подтверждении транзакции все подчиненные курсоры соединения, по которому подана команда COMMIT, остаются в открытом состоянии).

Заметили ошибку?
Выделите текст и нажмите Ctrl + Enter