Oracle + Mysql 添加触发器,两库之间表实时同步

  1. Oracle

注意: 目前测试发现,clob类型字段无法成为触发器内字段(或因内容处理问题,暂无解

--更改汉字部分即可 触发器名称可自定义,但有长度限制,直接为表名也可以
CREATE TRIGGER 触发器名称
  AFTER INSERT OR UPDATE OR DELETE ON 表名
  FOR EACH ROW
BEGIN
  IF INSERTING THEN
    INSERT INTO 表名 库名对象
      (字段名1, 字段2)
    VALUES
      (:NEW.字段名1, :NEW.字段2);
  ELSIF UPDATING THEN
    UPDATE 表名 库名对象
       SET 字段名1 = :NEW.字段名1, 字段2 = :NEW.字段2
     WHERE ID = :OLD.ID;
  ELSIF DELETING THEN
    DELETE FROM 表名 库名对象 WHERE ID = :OLD.ID;
  END IF;
END;

2.Mysql

CREATE TRIGGER `触发器名称` AFTER DELETE ON `表名` FOR EACH ROW 
BEGIN 
    DELETE FROM 表名 WHERE id = old.id;
END;


CREATE TRIGGER `触发器名称` AFTER UPDATE ON `表名` FOR EACH ROW BEGIN
    UPDATE user SET 列名  = new.列名 WHERE id = old.id;
END;


CREATE TRIGGER `触发器名称` AFTER INSERT ON `表名` FOR EACH ROW BEGIN
    INSERT INTO `user`(字段名1, 字段2) VALUES (new.字段名1,new.字段2);
END;

Navicat 图例:
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述

  • 2
    点赞
  • 5
    收藏
    觉得还不错? 一键收藏
  • 打赏
    打赏
  • 0
    评论
Oracle数据库实时同步MySQL数据库是一种常见的数据同步方案,它可以确保两个数据库之间的数据始终保持一致并及时更新。 在实现这一方案时,可以采用两种常见的方法: 1. 使用数据库连接工具实时同步:可以使用工具如GoldenGate、SymmetricDS等,将Oracle数据库的变更数据实时捕获并传递到MySQL数据库。这些工具通过记录数据库的变更日志或者使用触发器来实现数据同步,确保所有的更改操作都能被及时地传递和应用到MySQL数据库中。 2. 使用ETL工具实时同步:ETL(Extract, Transform, Load)工具能够提供数据抽取、转换和加载功能,可以将Oracle数据库的数据实时转换并加载到MySQL数据库中。这些工具需要配置源和目标数据库的连接信息,并设置数据转换规则,通过周期性地运行以完成数据的同步。 无论选择哪种方法,都需要进行以下步骤: 1. 确保两个数据库的连接信息正确并能够互相访问。 2. 创建相关的结构和约束,以便在数据同步时保证数据的完整性。 3. 配置同步方式、时间间隔以及其他相关参数。 4. 启动同步工具或者ETL作业,开始实时同步。 需要注意的是,实时同步的性能和延迟取决于数据库之间的网络速度、服务器性能以及同步工具的配置。为了确保数据的一致性和避免数据丢失,还可以定期进行数据校验和故障恢复。 综上所述,Oracle数据库实时同步MySQL数据库可以通过数据库连接工具或者ETL工具实现,确保数据的一致性和及时更新。

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

程似锦吖

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值