Description
- savepoint-name
- Identifies a new savepoint.
- UNIQUE
- Specifies that the application program cannot reuse the savepoint name
within the unit of work. An error occurs if a savepoint with the same name
as savepoint-name already exists within the unit of work.
Omitting
UNIQUE indicates that the application can reuse the savepoint name within
the unit of work. If savepoint-name identifies a savepoint that already
exists within the unit of work and the savepoint was not created with the
UNIQUE option, the existing savepoint is destroyed and a new savepoint is
created. Destroying a savepoint to reuse its name for another savepoint is
not the same as releasing the savepoint. Reusing a savepoint name destroys
only one savepoint. Releasing a savepoint with the RELEASE SAVEPOINT statement
releases the savepoint and all savepoints that have been subsequently set.
- ON ROLLBACK RETAIN CURSORS
- Specifies that cursors that are opened after the savepoint is set are
not closed upon rollback to the savepoint.
- If SQL schema statements are executed for a table or view within
the scope of the SAVEPOINT statement, any cursor that references that table
or view is closed. Attempts to use such a cursor after a ROLLBACK TO SAVEPOINT
results in an error.
- Otherwise, the cursor is not affected by the ROLLBACK TO SAVEPOINT (it
remains open and positioned).
Although these cursors remain open after rollback to the savepoint, they
might not be usable. For example, if rolling back to the savepoint causes
the insertion of a row on which the cursor is positioned to be rolled back,
using the cursor to update or delete the row results in an error.
- ON ROLLBACK RETAIN LOCKS
- Specifies that any locks that are acquired after the savepoint is set
are not released on rollback to the savepoint.
(C) Copyright IBM Corporation 1992, 2006. All Rights Reserved.