ALLBASE/SQL Reference Manual (36216-90216)
Chapter 10 323
SQL Statements A - D
COMMIT WORK
COMMIT WORK
The COMMIT WORK statement ends the current transaction. All changes made during the
transaction are committed (made permanent).
Scope
ISQL or Application Programs
SQL Syntax
COMMIT WORK [RELEASE]
Parameters
RELEASE terminates your DBE session after the changes made during the
transaction are committed. Specifying RELEASE has the same effect as
issuing a COMMIT WORK statement followed by a RELEASE statement.
Description
• The COMMIT WORK statement has no effect if you do not have a transaction in progress.
• The COMMIT WORK statement releases all locks held by the transaction, except those
associated with a kept cursor in an application program.
• In an application program, the COMMIT WORK statement closes all cursors opened
without the KEEP CURSOR option in the current transaction.
• For cursors opened with the KEEP CURSOR option, the COMMIT WORK statement (but
not the COMMIT WORK RELEASE statement) implicitly starts a new transaction that
maintains the current cursor position and inherits the isolation level. Whether or not
locks on data objects pointed to by these cursors are released depends on the use of the
WITH LOCKS or WITH NOLOCKS option in the OPEN statement.
• If a procedure invoked by a rule executes a COMMIT WORK statement, an error occurs.
• If a commit is done while constraints are deferred, and constraint errors exist, the
system will roll back the transaction and report that constraint errors exist.
• Short transactions (frequent COMMIT WORK statements) are recommended to improve
concurrency.
• If RELEASE is used, all cursors are closed and the current connection is terminated
• The RELEASE option is not allowed within a procedure.
Authorization
You do not need authorization to use the COMMIT WORK statement.