DB2 10.5 for Linux, UNIX, and Windows

Types of triggers (PL/SQL)

The DB2® data server supports row-level and statement-level triggers within a PL/SQL context.

A row-level trigger fires once for each row that is affected by a triggering event. For example, if deletion is defined as a triggering event for a particular table, and a single DELETE statement deletes five rows from that table, the trigger fires five times, once for each row.

A statement-level trigger fires only once for each statement. Using the previous example, if deletion is defined as a triggering event for a particular table, and a single DELETE statement deletes five rows from that table, the trigger fires once. Statement-level trigger granularity cannot be specified for BEFORE triggers or INSTEAD OF triggers.

The trigger code block is executed either before or after each row is affected by the triggering statement, except for INSTEAD OF triggers which execute the trigger code block instead of affecting each row based on the activating statement.