ROLLBACK Options
-
The optional
TRANSACTION tr_nameclause, available only in Embedded SQL, specifies the name of the transaction to be committed.With noTRANSACTIONclause,ROLLBACKis applied to the default transaction.NoteIn ESQL applications, named transactions make it possible to have several transactions active simultaneously in one application.If named transactions are used, a host-language variable with the same name must be declared and initialized for each named transaction.This is a limitation that prevents dynamic specification of transaction names and thus, rules out transaction naming in DSQL.
-
The keyword
RETAINkeyword specifies that, although all work of the transaction is to be rolled back, the transaction context is to be retained.Some server resources are retained, and the transaction is restarted transparently with the same Transaction ID.The state of row caches and cursors is kept as it was before the “soft” rollback.For transactions whose isolation level is
SNAPSHOTorSNAPSHOT TABLE STABILITY, the view of database state is not updated by the soft rollback to reflect changes by other transactions.The user of the application instance continues to have the same view as when the transaction started originally.Changes that were made and soft-committed during the life of the retained transaction are visible to that transaction, of course.