1) Larger transaction is started with any number of commands before the Event with the
trigger.
2) Event transaction is started.
3) Normal processing of access checking occurs.
4) If it exists, the Check Trigger is fired.
5) If Check blocks, then transaction aborts.
If not, the Override Trigger is fired if it exists.
6) The Event transaction is committed regardless of an override or normal
activity.
7) If the Event Trigger has a non-deferred Action Program, it is executed.
8) The larger transaction is committed if all activities and triggers succeed.
9) If the larger transaction successfully commits, and there is a deferred Action
Program, it is now triggered. If the larger transaction aborts, deferred programs
are not executed.
|