zoukankan      html  css  js  c++  java
  • oracle 触发器,当一个表更新或插入时将数据同步至另个库中的某个表中

    有两个表分别是 A用户下的 T_SRC_WEATHER_TSPG字段如图,

    B用户下的t_src_weather 表,如图:

    要求,当A用户下的T_SRC_WEATHER_TSPG表有插入或者更新数据时,同时将数据同步至B用户下的t_src_weather表中,

    创建触发器,sql语句如下:

      CREATE OR REPLACE TRIGGER weather_history_update  -- weather_history_update为触发器名称
         AFTER update or insert on  Yjzhaccess.T_SRC_WEATHER_TSPG  --AFTER 指定 触发时间,on后跟表名称,即当表Yjzhaccess.T_SRC_WEATHER_TSPG有更新或者插入时触发时间
         for each row                                                                                                     --每一行
         begin                                                                                          
         insert into yjzhhistory.t_src_weather (ID,SSXQMC,SSXQDM,HISTIME,WEATHER)  --指定插入的表及字段
        VALUES(:new.ID,:new.MC,:new.ID,:new.gxsj,:new.type);                                          --将新插入的数据引入到该表中
        end;

     执行完后执行 INSERT INTO Yjzhaccess.T_SRC_WEATHER_TSPG  values(23,'二十三大队',66.66,16.66,'雪',66,sysdate)出现异常,报ora-04098:触发器无效且未通过重新验证通过plsql developer进入该触发器发现编译错误:

    发现错误为没有权限,登录dba用户将 B用户下的该表的插入权限赋给A用户 sql为:grant insert on yjzhhistory.t_src_weather  to yjzhaccess

    赋予权限后再执行测试更新语句,成功,此时触发器执行触发事件,两个表中都有了对应的数据

  • 相关阅读:
    利用 Chrome 浏览器来模拟手势
    【风马一族_Java】java的一种IDE
    【风马一族_Android】强制activity的横屏与纵屏
    【风马一族_Android】多选按钮的监控事件
    【风马一族_Android】 图能
    100%的利用时间
    【风马一族_代码英语】代码英语之六
    【风马一族_Python】 决策树
    【风马一族_Python】 实施kNN算法
    编写高质量代码:改善Java的151个建议二:11-14(序列化相关内容)
  • 原文地址:https://www.cnblogs.com/wdxg0103/p/8509696.html
Copyright © 2011-2022 走看看