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 which is distinguished by specifying the type of the returned value to be of a 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 such as OLD
and NEW
.
This will contain the row's contents, as it is currently in the database (OLD
) and as it is 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 the operations.
The trigger function for row-level triggers on INSERT
, UPDATE
, and DELETE
can be set to execute either...