Summary
A trigger is a binding of a set of actions to certain operations performed on a table or view. This set of actions is defined in a special trigger function distinguished by specifying the type of returned value to be of special pseudotype trigger. So each time an operation (INSERT
, UPDATE
, DELETE
, or TRUNCATE
) is performed on the table, this trigger function is called by the system.
It can be executed either FOR EACH ROW
or FOR EACH STATEMENT
. If executed for each row (row level trigger), the function is passed special variables OLD
and NEW
. This will contain the row content, as it is currently in the database (OLD
), and as it is at the moment the trigger function is called (NEW
). Where the OLD
or NEW
value is missing, it is passed as undefined
. If executed once per statement (the statement-level trigger), both OLD
and NEW
are unassigned for all operations.
The trigger function for row-level triggers on INSERT
, UPDATE
, and DELETE
can be set to execute either BEFORE
or AFTER
the operation...