December 2002
Intermediate to advanced
928 pages
85h 29m
English
The DML events include INSERT, UPDATE, or DELETE statements on a table or view. Triggers on these events can be statement-level (table only) or row-level triggers and can fire before or after the triggering event. BEFORE triggers can modify the data in affected rows and are generally used to determine whether the triggering statement should complete. AFTER triggers do not perform this additional logical read and therefore perform slightly better; however, AFTER triggers are not able to change the :new values.
The order in which DML triggers fire, if present, is as follows:
BEFORE statement-level trigger
For each row affected by the statement
BEFORE row-level trigger
The triggering statement
AFTER row-level trigger
AFTER statement-level trigger