Re-entrant triggers
A re-entrant trigger refers to a case in
which the triggered action can reference the triggering table. In
other words, both the triggering event and the triggered action can
operate on the same table. For example, suppose the following UPDATE
statement represents the triggering event:
UPDATE tab1 SET (col_a, col_b) = (col_a + 1, col_b + 1);
The
following triggered action is legal because column col_c is
not a column that the triggering event has updated:
UPDATE tab1 SET (col_c) = (col_c + 3);
In
the preceding example, a triggered action on col_a or col_b would
be illegal because a triggered action cannot be an UPDATE statement
that references a column that was updated by the triggering event.
Important: Select triggers cannot be re-entrant triggers. If
the triggering event is a SELECT statement, the triggered action cannot
operate on the same table.
For a list of the rules that describe those situations in which a trigger can and cannot be re-entrant, see the CREATE TRIGGER statement in the Informix® Guide to SQL: Syntax.