Define Savepoints in a transaction.- SAVEPOINT names and marks the current point in the processing of a transaction.
- Savepoints let you roll back part of a transaction instead of the whole transaction.
- The number of active savepoints for each session is unlimited.
- When you roll back to a savepoint, any savepoints marked after that savepoint are erased.
- The savepoint to which you roll back is not erased.
- A simple rollback or commit erases all savepoints.
- If you mark a savepoint within a recursive subprogram, new instances of the SAVEPOINT statement are executed at each level in the recursive descent, but you can only roll back to the most recently marked savepoint.
- Savepoint names are undeclared identifiers.
- Reusing a savepoint name within a transaction moves the savepoint from its old position to the current point in the transaction.
- This means that a rollback to the savepoint affects only the current part of your transaction.