oracle 跨用户触发器使用

需求 a用户的表t_A 数据发生变化 同步数据到用户b的T_B

1 在用户a登陆后新建触发器:

  CREATE OR REPLACE TRIGGER trigger_name-- trigger_name为触发器名称
     AFTER update or insert on  a.T_A --AFTER 指定 触发时间,on后跟表名称,即当表a.T_A有更新或者插入时触发时间
     for each row                                                                                                     --每一行
     begin                                                                                          
     insert into b.T_B(ID,NAME,STATE,CREATE_TIME)  --指定插入的表及字段
    VALUES(:new.ID,:new.NAME,1,SYSDATE);                                          --将新插入的数据引入到该表中
    end;

 

2 触发器创建完,需要在b用户下将T_B的操作权限赋予a用户,触发器才有权操作表T_B 

GRANT ALTER ON  b.T_B TO a;

    GRANT DELETE ON  b.T_B TO a;

    GRANT INDEX ON  b.T_B TO a;

    GRANT INSERT ON  b.T_B TO a;

    GRANT REFERENCES ON  b.T_B TO a;

    GRANT SELECT ON   b.T_B TO a;

    GRANT UPDATE ON   b.T_B TO a;

注:可按实际需求赋予权限

3 完成就可以在T_A插入数据测试了

 

  • 1
    点赞
  • 2
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值