ROLLBACK

Aborts the current transaction.

rollback.png

 

Usage

Embedded/Interactive/Module/Procedural.

Description

The current transaction is aborted. No database alterations requested in the transaction build-up are executed.

All cursors opened by the current connection are closed, even those declared as WITH HOLD.

If there is no currently active transaction, any cursors opened by the current ident are closed, but the ROLLBACK statement is otherwise ignored. No error code is returned in this case.

When a BACKUP transaction is rolled back, all files created with CREATE BACKUP are deleted.

Restrictions

The ROLLBACK statement cannot be used in a result set procedure.

The ROLLBACK statement cannot be used within an atomic compound SQL statement, see COMPOUND STATEMENT.

The ROLLBACK BACKUP statement must be used to abort a BACKUP transaction.

The ROLLBACK BACKUP statement is not supported in procedural usage contexts.

Notes

See the Mimer SQL Programmer's Manual, Transaction Handling and Database Security, for a more detailed discussion of transaction handling.

Example

exec sql INSERT INTO sometable VALUES (:hv1, :hv2...);

if  SQLSTATE = "00000" then

   exec sql COMMIT;

else

   exec sql ROLLBACK;

end if;

 

For more information, see the Mimer SQL Programmer's Manual, Transaction Control Statements.

Standard Compliance

Standard

Compliance

Comments

SQL-2016

Core

Fully compliant.

 

Mimer SQL extension

The use of the keywords BACKUP and TRANSACTION is a Mimer SQL extension.