Именованный маркер внутри транзакции, к которому можно вернуться, не отбрасывая всю транзакцию. Это полезно, когда только один шаг многошаговой транзакции может завершиться неудачей с возможностью восстановления, а остальные все равно можно зафиксировать.
Пример
BEGIN;
INSERT INTO orders (id, customer_id) VALUES (1, 42);
SAVEPOINT before_risky_step;
UPDATE inventory SET stock = stock -1WHERE product_id =999; -- fails: constraint violationROLLBACKTOSAVEPOINT before_risky_step; -- undoes only the failed stepCOMMIT; -- the order insert is still committed
Итог
Именованный маркер внутри транзакции, к которому можно вернуться, не отбрасывая всю транзакцию. Это полезно, когда только один шаг многошаговой транзакции может завершиться неудачей с возможностью восстановления, а остальные все равно можно зафиксировать.
Что такое точка сохранения и почему вам следует использовать ее вме… · Sobeso