Откат транзакции

Назначение

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

Синтаксис

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

Описание

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

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

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

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

Примечание

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