RELEASE SAVEPOINT#

RELEASE SAVEPOINT

RELEASE SAVEPOINT

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

Синтаксис

RELEASE [ SAVEPOINT ] savepoint_name

Описание

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

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

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

Параметры

savepoint_name

Имя точки сохранения, которую нужно удалить.

Примечания

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

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

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

Примеры

Для создания и последующего удаления точки сохранения:

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

Вышеуказанная транзакция вставит и 3, и 4.

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

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