Фиксация транзакции

Назначение

Для сохранения изменений, произведенных в БД в процессе выполнения транзакции, служит операция подтверждения транзакции.

Синтаксис

 
< подтверждение транзакции >::=
EXEC SQL [AT < имя соединения > ] COMMIT [WORK|RELEASE];

Описание

  1. < Имя соединения > задает ранее открытое соединение. Значение параметра может быть задано переменной типа «соединение» либо символьной константой. В любом случае заданное значение должно быть ранее использовано в операторе CONNECT. Если параметр < имя соединения > опущен, фиксация транзакции выполняется для неименованного канала. При выполнении оператора осуществляется фиксация изменений в БД как по указанному соединению, так и по всем активным дочерним каналам (курсорам).

  2. Если задан режим WORK, то после сохранения изменений работа с БД по данному соединению может быть продолжена.

  3. Если задан режим RELEASE, то после сохранения изменений соединение с СУБД закрывается.

  4. По умолчанию применяется режим WORK. Для отсоединения от СУБД рекомендуется явно использовать оператор DISCONNECT.

Примечание

Запрос на фиксацию транзакции имеет смысл задавать только в режимах OPTIMISTIC, EXCLUSIVE, т.к. в режиме AUTOCOMMIT изменения сразу фиксируются в БД.