Aborts the current transaction.
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. |