ROLLBACK

ROLLBACK

7

SQL - Language Statements

ROLLBACK

abort the current transaction

ROLLBACK \[ WORK \| TRANSACTION \] \[ AND \[ NO \] CHAIN \]

Description
===========

`ROLLBACK` rolls back the current transaction and causes all the updates
made by the transaction to be discarded.

Parameters
==========

chained transactions

`WORK`; `TRANSACTION`

:   Optional key words. They have no effect.

`AND CHAIN`

:   If `AND CHAIN` is specified, a new transaction is immediately
    started with the same transaction characteristics (see
    [???](#sql-set-transaction)) as the just finished one. Otherwise, no
    new transaction is started.

Notes
=====

Use [`COMMIT`](#sql-commit) to successfully terminate a transaction.

Issuing `ROLLBACK` outside of a transaction block emits a warning and
otherwise has no effect. `ROLLBACK AND
   CHAIN` outside of a transaction block is an error.

Examples
========

To abort all changes:

    ROLLBACK;

Compatibility
=============

The command `ROLLBACK` conforms to the SQL standard. The form
`ROLLBACK TRANSACTION` is a PostgreSQL extension.

See Also
========
