User's Manual

exist at other databases in the setup. When an action that fires a trigger at the
consolidated database is replicated at the replicate site, the trigger is
automatically fired. By default, the database extraction utility extracts the
trigger definitions, so that they are in place at the remote database also.
If a publication includes only a subset of a database, a trigger at the
consolidated database may refer to tables or rows that are present at the
consolidated database, but not at the remote databases. You can design your
triggers to avoid such errors by making actions of the trigger conditional
using an IF statement. The following list suggests some ways in which
triggers can be designed to work on consolidated and remote databases.
Have actions of the trigger be conditional on the value of CURRENT
PUBLISHER. In this case, the trigger would not execute certain actions
at the remote database.
Have actions of the trigger be conditional on the object_id function not
returning NULL. The object_id function takes a table or other object as
argument, and returns the ID number of that object or NULL if the object
does not exist.
Have actions of the trigger be conditional on a SELECT statement which
determines if rows exist.
The RESOLVE UPDATE trigger is a special trigger type for the resolution
of UPDATE conflicts, and is discussed in the section “Conflict resolution
examples” on page 124. The actions of RESOLVE UPDATE triggers are
replicated to remote databases, including the database that caused the
conflict.
128