ROLLBACK TO SAVEPOINT
Rolls back all commands that have been entered within the transaction since the given savepoint was established.
ROLLBACK TO [SAVEPOINT] savepoint_name
Specifies the name of the savepoint to roll back to.
- The savepoint remains valid and can be rolled back to again later if needed.
- When an operation is rolled back, any locks that are acquired by the operation are also rolled back.
- ROLLBACK TO SAVEPOINT implicitly destroys all savepoints that were established after the named savepoint.
The following example rolls back the values 102 and 103 that were entered after the savepoint,
my_savepoint, was established. Only the values 101 and 104 are inserted at commit.
=> INSERT INTO product_key VALUES (101); => SAVEPOINT my_savepoint; => INSERT INTO product_key VALUES (102); => INSERT INTO product_key VALUES (103); => ROLLBACK TO SAVEPOINT my_savepoint; => INSERT INTO product_key VALUES (104); => COMMIT;