PL/SQL User's Guide and Reference Release 2 (9.2) Part Number A96624-01 |
|
PL/SQL Language Elements, 44 of 52
The SAVEPOINT
statement names and marks the current point in the processing of a transaction. With the ROLLBACK
TO
statement, savepoints let you undo parts of a transaction instead of the whole transaction. For more information, see "Overview of Transaction Processing in PL/SQL".
This is an undeclared identifier, which marks the current point in the processing of a transaction.
When you roll back to a savepoint, any savepoints marked after that savepoint are erased. However, the savepoint to which you roll back is not erased. A simple rollback or commit erases all savepoints. Savepoint names can be reused within a transaction. This moves the savepoint from its old position to the current point in the transaction.
If you mark a savepoint within a recursive subprogram, new instances of the SAVEPOINT
statement are executed at each level in the recursive descent. However, you can only roll back to the most recently marked savepoint.
An implicit savepoint is marked before executing an INSERT
, UPDATE
, or DELETE
statement. If the statement fails, a rollback to the implicit savepoint is done. Normally, just the failed SQL statement is rolled back, not the whole transaction. However, if the statement raises an unhandled exception, the host environment determines what is rolled back.
|
Copyright © 1996, 2002 Oracle Corporation. All Rights Reserved. |
|