oracle数据库表数据同步-触发器

 create or replace
TRIGGER
"USER_TRIGGER"
AFTER INSERT OR DELETE OR UPDATE ON USERS   -- 对应三种触发事件
FOR EACH ROW  --行级触发器
BEGIN
  if inserting then
    insert into USERS2 values(:new .lid,:new.strname,:new.straddress);
  elsif deleting then
    delete from USERS2 where USERS2.lid = :old.lid;
  elsif updating then
    update USERS2 set USERS2.strname=:new.strname,USERS2.straddress=:new.straddress where USERS2.lid=:old .lid;
  end if;
END;

 

1、insert/update/delete中的哪一个触发了触发器,可以在触发器中使用inserting / updating / deleting 条件谓词作判断。

2、:new 与: old:必须是针对行级触发器的,也就是说要使用这两个变量的触发器一定有for each row

这两个变量是系统自动提供的数组变量,:new用来记录新插入的值,old用来记录被删除的值;

使用insert的时候只有:new里有值;

使用delete的时候只有:old里有值;

使用update的时候:new和:old里都有值;

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值