RELEASE SAVEPOINT

RELEASE SAVEPOINT — уничтожить ранее определенную точку сохранения


Синтаксис

RELEASE [ SAVEPOINT ] имя_точки_сохранения

Описание

Команда RELEASE SAVEPOINT уничтожает точку сохранения, ранее определенную в текущей транзакции.

Уничтожение точки сохранения делает ее неприменимой в качестве точки отката, но никаких других видимых пользователю проявлений эта команда не имеет. Она не отменяет действие команд, выполненных после установки точки сохранения. (Для этого предназначена команда ROLLBACK TO SAVEPOINT.) Уничтожение ставшей ненужной точки сохранения позволяет системе восстановить некоторые ресурсы еще до завершения транзакции.

Команда RELEASE SAVEPOINT также уничтожает все точки сохранения, которые были установлены после именованной.


Параметры

имя_точки_сохранения

Имя уничтожаемой точки сохранения.


Примечания

Указание имени точки сохранения, которая ранее не была определена, является ошибкой.

Невозможно освободить точку сохранения, когда транзакция находится в прерванном состоянии.

Если несколько точек сохранения имеют одинаковое имя, освобождается только та, которая была определена последней и еще не была освобождена. Повторные команды будут последовательно освобождать более старые точки сохранения.


Примеры

Установка и последующее уничтожение точки сохранения:

BEGIN;
    INSERT INTO table1 VALUES (3);
    SAVEPOINT my_savepoint;
    INSERT INTO table1 VALUES (4);
    RELEASE SAVEPOINT my_savepoint;
COMMIT;

Данная транзакция добавит значения 3 и 4.


Совместимость

Эта команда соответствует стандарту SQL. Стандарт указывает, что ключевое слово SAVEPOINT является обязательным, но QHB позволяет его опустить.


См. также

BEGIN, COMMIT, ROLLBACK, ROLLBACK TO SAVEPOINT, SAVEPOINT