如:A数据库中表A增加一条数据,想使B数据库中相同的表A也增加一条相同的数据,进行数据同步操作
第一步:在A数据库中建立database links
create database link (任意名XXX)connect to B库用户名 identified by B库密码 using 'B库地址';
第二步:创建A库A表触发器
CREATE OR REPLACE TRIGGER XX_trigger--(触发器名称,任意)
AFTER INSERT --指定触发时机为新增,可以是after也可以是before
OR UPDATE OR DELETE --增删改操作
ON 表A--表名
FOR EACH ROW --说明创建的是行级触发器
BEGIN
CASE
--将新增的数据插入到表A的临时trigger表中。
WHEN inserting THEN INSERT INTO 表A@XXX (表A所有字段,a,b,c,d,....)--增加操作,主要XXX名为第一步创建的名称
VALUES(:new.a,:new.b,new.c,new.d...);--对应的字段
WHEN updating THEN
--将修改的数据插入到表A的临时trigger表中。
update 表A@XXX set ID = :new.ID,a= :new.a,b=:new.b,..... where ID = :new.ID
WHEN deleting THEN
--将删除的数据同步到表A的临时trigger表中。
delete 表A@XXX where ID = :old.ID;
END CASE;
END;
第三步
将第二步编辑的触发器在A库执行一次,完成!
(检查触发器是否创建成功,可以ctrl+点击触发器名,若无报错,则完成无误!)