Savepoints and PSQL
Transaction control statements are not allowed in PSQL, as that would break the atomicity of the statement that calls the procedure.However, Firebird does support the raising and handling of exceptions in PSQL, so that actions performed in stored procedures and triggers can be selectively undone without the entire procedure failing.
Internally, automatic savepoints are used to:
-
undo all actions in the
BEGIN…END
block where an exception occurs -
undo all actions performed by the procedure or trigger or, in a selectable procedure, all actions performed since the last
SUSPEND
, when execution terminates prematurely because of an uncaught error or exception
Each PSQL exception handling block is also bounded by automatic system savepoints.
Note
|
A |