FOR EACH ROW Actions

After a row of the triggering table is processed, the database server executes all of the statements of the FOR EACH ROW trigger action list; this cycle is repeated for every row that the triggering statement processes. (But if the triggering statement does not insert, delete, update, or select any rows, the database server does not execute the FOR EACH ROW trigger actions.)

The FOR EACH ROW action list of a Select trigger is executed once for each instance of a row. For example, the same row can appear more than once in the result of a query joining two tables. For more information on FOR EACH ROW actions that reference specific values in rows that the triggering statement processes, see REFERENCING Clauses.

As noted in the section Restrictions on Triggers, parallel data processing is disabled in FOR EACH ROW trigger actions for DML statements that correspond to the type of trigger event. For example, the database server does not apply PDQ to UPDATE statements in the FOR EACH ROW section of the Action clause of an Update trigger, nor to DELETE statements in the FOR EACH ROW section of the Action clause of a Delete trigger. This restriction on PDQ processing does not apply to DML statements in the BEFORE or AFTER sections of the Action clause.