 |
» |
|
|
|
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 |  |
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. Example |  |
Transaction begins.
BEGIN WORK
statement-1
SAVEPOINT :MyVariable
statement-2
statement-3
|
Work of statements 2 and 3 is undone.
ROLLBACK WORK TO :MyVariable
|
Work of statement 1 is committed; the transaction ends.
|