Illustration repln030.gif shows two replication sites: site A and site B. The following update is made at site A:
UPDATE employees SET department_id = 20 WHERE last_name='Jones';
The illustration shows the employees table with the department_id
updated to 20
for the employee with the last name Jones
.
At site A, an internal trigger fires when this update is made. The code for the internal trigger is similar to the following:
if updating update@dba1(oldargs newargs) update@dba2(oldargs newargs) if inserting insert@dba1(newargs) insert@dba2(newargs) if deleting delete@dba1(oldargs) delete@dba2(oldargs)
The internal trigger at site A invokes a package at site B, and the package updates the employees
table at site B to set the department_id
to 20
for the employee with the last name Jones
.
The code in the package is similar to the following:
update(oldargs newargs) UPDATE employees ... insert(newargs) INSERT INTO employees ... delete(oldargs) DELETE FROM employees ...