Savepoints
Savepoint - a point in a program where an application saves all its recoverable state
Can restore a savepoint within the transaction that issued the savepoint. (Its a partial rollback.)
Usually supported by SQL DBMSs, since it helps them support atomic SQL statements.
if (error) {Restore(B);
; Commit;}