HPlogo ALLBASE/SQL Reference Manual: HP 9000 Computer Systems > Chapter 10 SQL Statements A - D

COMMIT WORK

» 

Technical documentation

Complete book in PDF
» Feedback

 » Table of Contents

 » Index

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.

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.

   COMMIT WORK
Feedback to webmaster