Фиксация транзакции
Назначение
Для сохранения изменений, произведенных в БД в процессе выполнения транзакции, служит операция подтверждения транзакции.
Синтаксис
< подтверждение транзакции >::= EXEC SQL [AT < имя соединения > ] COMMIT [WORK|RELEASE];
Описание
-
< Имя соединения >
задает ранее открытое соединение. Значение параметра может быть задано переменной типа «соединение» либо символьной константой. В любом случае заданное значение должно быть ранее использовано в оператореCONNECT
. Если параметр< имя соединения >
опущен, фиксация транзакции выполняется для неименованного канала. При выполнении оператора осуществляется фиксация изменений в БД как по указанному соединению, так и по всем активным дочерним каналам (курсорам). -
Если задан режим
WORK
, то после сохранения изменений работа с БД по данному соединению может быть продолжена. -
Если задан режим
RELEASE
, то после сохранения изменений соединение с СУБД закрывается. -
По умолчанию применяется режим
WORK
. Для отсоединения от СУБД рекомендуется явно использовать операторDISCONNECT
.
Примечание
Запрос на фиксацию транзакции имеет смысл задавать только в режимах OPTIMISTIC
, EXCLUSIVE
, т.к. в режиме AUTOCOMMIT
изменения сразу фиксируются в БД.