Перейти к основному содержимому

RELEASE SAVEPOINT

примечание

Эта страница переведена при помощи нейросети GigaChat.

RELEASE SAVEPOINT - удаление ранее созданной точки сохранения.

Синтаксис

RELEASE [ SAVEPOINT ] savepoint_name

Описание

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

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

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

Параметры

savepoint_name

Точка сохранения, которая должна быть удалена.

Примечания

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

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

Если было создано несколько точек сохранения с одинаковым именем, то команда удалит только самый последний. Повторные вызовы 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 является обязательным, но PostgreSQL позволяет его опускать.

Смотрите также

BEGIN, COMMIT, ROLLBACK, ROLLBACK TO SAVEPOINT, SAVEPOINT