zoukankan      html  css  js  c++  java
  • 用触发器同步2个实例之间的表

    1.  在2个实例之间同步表的数据

    先创建DBLINK...

    create database link TEST.US.ORACLE.COM
      connect to TEST identified by TEST

      using '(DESCRIPTION =
        (ADDRESS_LIST =
          (ADDRESS = (PROTOCOL = TCP)(HOST = 10.6.1.36)(PORT = 1521))
        )
        (CONNECT_DATA =
          (SERVICE_NAME = orcl)
        )
      )';

    测试Db_LINK

    select * from tworkgroupnode@TEST

    删除数据

    truncate table tagentinfo

    同步数据
    insert into tagentinfo select * from tagentinfo@TEST

    2.  建立触发器同步数据

    建立dblink

    create database link TEST2.US.ORACLE.COM
      connect to ICD identified by ICD
      using '(DESCRIPTION =
        (ADDRESS_LIST =
          (ADDRESS = (PROTOCOL = TCP)(HOST = 10.6.1.36)(PORT = 1521))
        )
        (CONNECT_DATA =
          (SERVICE_NAME = orcl)
        )
      )';

    创建触发器


    create or replace trigger trib_tagentinfo
      after insert or update or delete on tagentinfo
      for each row
    declare
      integrity_error exception;
      errno  integer;
      errmsg char(200);
      dummy  integer;
      found  boolean;
    begin
      if inserting then
        insert into tagentinfo@TEST2
          (agentid,
           name,
           agentskills,
           agentworkgroup,
           subccno,
           vdn,
           workgroupid)
        values
          (:NEW.agentid,
           :NEW.name,
           :NEW.agentskills,
           :NEW.agentworkgroup,
           :NEW.subccno,
           :NEW.vdn,
           :NEW.workgroupid);
      elsif updating then
        update tagentinfo@TEST2
           set name           = :NEW.name,
               agentskills    = :NEW.agentskills,
               agentworkgroup = :NEW.agentworkgroup,
               vdn            = :NEW.vdn,
               workgroupid    = :NEW.workgroupid
      elsif deleting then
        delete from tagentinfo@TEST2 where agentid = :OLD.agentid;
      end if;
    exception
      when integrity_error then
        raise_application_error(errno, errmsg);
    end;
    /

    道森Oracle,国内最早、最大的网络语音培训机构,我们提供专业、优质的Oracle技术培训和服务! 我们的官方网站:http://www.daosenoracle.com 官方淘宝店:http://daosenpx.taobao.com/
  • 相关阅读:
    【洛谷4251】 [SCOI2015]小凸玩矩阵(二分答案,二分图匹配)
    JXOI2019游记
    luogu4884 多少个1?
    数论难点选讲
    计树问题小结
    codeforces选做1.0
    POI2015选做
    后缀自动机小结
    bzoj4008 [HNOI2015]亚瑟王
    bzoj1500 [NOI2005]维修数列
  • 原文地址:https://www.cnblogs.com/tianlesoftware/p/3610344.html
Copyright © 2011-2022 走看看