[Overview][Constants][Types][Classes][Procedures and functions][Variables][Index] | Reference for unit 'SQLDB' (#fcl)

# TSQLTransaction.RollbackRetaining

Roll back changes made in the transaction, keep transaction context.

## Declaration

Source position: sqldb.pp line 344

`public procedure TSQLTransaction.RollbackRetaining; override;`

## Description

RollbackRetaining undoes all changes in the database since the start of the transaction. It can only be executed in an active transaction.

After this, the transaction is kept in an active state. To undo changes and close the transaction, execute Rollback instead.

Remark: | Changes posted in datasets that are coupled to this transaction will not be undone in memory: these datasets must be reloaded from the database (using Close and Open to reload the data as it is in the database.

## Errors

Executing RollbackRetaining when no transaction is active will result in an exception. A transaction must be started by calling StartTransaction. If the database backend reports an error, an exception is raised as well.

## See also

StartTransaction |  | Start a new transaction
Commit |  | Commit the transaction, end transaction context.
Rollback |  | Roll back all changes made in the current transaction.
CommitRetaining |  | Commit the transaction, retain transaction context.

Documentation generated on: May 14 2021