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

RELEASE SAVEPOINT

RELEASE SAVEPOINT удаляет именованную точку отката.

RELEASE [SAVEPOINT] savepoint_name

Команда сохраняет все изменения до и после точки. Удаляется лишь возможность вернуться к этому маркеру.

SAVEPOINT необязателен. savepoint_name подчиняется тем же правилам кавычек и регистра, что и в SAVEPOINT.

Успех возвращает пустой командный результат и оставляет транзакцию активной.

RELEASE допустим только внутри транзакции, которой принадлежит живая точка. Он не фиксирует изменения.

Отсутствие транзакции или точки приводит к ошибке. Embedded, TCP и CLI версии 1.2 направляют RELEASE SAVEPOINT в активную транзакцию текущего подключения.

RELEASE не требует отдельного объектного права.

CREATE TABLE ref_release_savepoint (id INTEGER PRIMARY KEY);
BEGIN;
SAVEPOINT completed_step;
INSERT INTO ref_release_savepoint VALUES (1);
RELEASE SAVEPOINT completed_step;
COMMIT;
SELECT id FROM ref_release_savepoint;

См. SAVEPOINT, ROLLBACK и Клиентские интерфейсы.