mysql同步并联两张表_Mysql同一主机两张表结构相同的表数据同步-----触发器

news/2024/7/7 16:12:06 标签: mysql同步并联两张表

1、执行过程:1)、################################插入

DELIMITER//

CREATE TRIGGER `insert_BI_AppointmentOrder_trigger` AFTER insert ON `BI_AppointmentOrder` FOR EACH ROW BEGIN

--检查当前 环境,避免递归.

IF @disable_insert_trigger_o IS NULL THEN

--设置禁用触发器标志.

SET @disable_insert_trigger_o = 1;--插入目标表

INSERT BI_AppointmentOrder_2018 VALUES(new.`Id`, new.`MapOrderId`, new.`UniquenessCode`, new.`DutySourceId`, new.`HospitalId`, new.`DepartmentId`, new.`DoctorId`, new.`UserId`, new.`PatientId`, new.`DutySourceSequenceId`, new.`PatientIdNo`, new.`PatientName`, new.`DutyDate`, new.`MobileNo`, new.`SubmitChannelId`, new.`CancelChannelId`, new.`Status`, new.`ErrorStatus`, new.`AgentId`, new.`CancelAgentId`, new.`OrderCancelType`, new.`SubmitIp`, new.`CancelIp`, new.`MedicalInsurance`, new.`OrderCode`, new.`RecognitionCode`, new.`CancelTime`, new.`OfferTime`, new.`ReplaceWay`, new.`OfferAddress`, new.`MedicalRecordId`, new.`HospitalCardId`, new.`MedicareCardId`, new.`ReimbursementCategoryId`, new.`SmsVerifyCode`, new.`IsFirstTime`, new.`HasPowerHospitalCard`, new.`ChildrenName`, new.`ChildrenBirthday`, new.`ChildrenGender`, new.`ChildrenIdNo`, new.`KinshipName`, new.`JytCardId`, new.`CreateTime`);END IF;--恢复禁用触发器标志.

SET @disable_insert_trigger_o = NULL;END;//DELIMITER ;2)、#############################更新

DELIMITER//

CREATE TRIGGER `update_BI_AppointmentOrder_trigger` AFTER UPDATE ON `BI_AppointmentOrder` FOR EACH ROW BEGIN

--检查当前 环境,避免递归.

IF @disable_update_trigger_o IS NULL THEN

--设置禁用触发器标志.

SET @disable_update_trigger_o = 1;--更新目标表

UPDATE BI_AppointmentOrder_2018 SET `MapOrderId`=new.`MapOrderId`, `UniquenessCode`=new.`UniquenessCode`, `DutySourceId`=new.`DutySourceId`, `HospitalId`=new.`HospitalId`, `DepartmentId`=new.`DepartmentId`, `DoctorId`= new.`DoctorId`, `UserId`=new.`UserId`, `PatientId`=new.`PatientId`, `DutySourceSequenceId`=new.`DutySourceSequenceId`, `PatientIdNo`=new.`PatientIdNo`, `PatientName`=new.`PatientName`, `DutyDate`=new.`DutyDate`, `MobileNo`=new.`MobileNo`, `SubmitChannelId`=new.`SubmitChannelId`, `CancelChannelId`=new.`CancelChannelId`, `Status`=new.`Status`, `ErrorStatus`=new.`ErrorStatus`, `AgentId`=new.`AgentId`, `CancelAgentId`=new.`CancelAgentId`, `OrderCancelType`=new.`OrderCancelType`, `SubmitIp`=new.`SubmitIp`, `CancelIp`=new.`CancelIp`, `MedicalInsurance`=new.`MedicalInsurance`, `OrderCode`= new.`OrderCode`, `RecognitionCode`=new.`RecognitionCode`, `CancelTime`=new.`CancelTime`, `OfferTime`=new.`OfferTime`, `ReplaceWay`=new.`ReplaceWay`, `OfferAddress`=new.`OfferAddress`, `MedicalRecordId`=new.`MedicalRecordId`, `HospitalCardId`=new.`HospitalCardId`, `MedicareCardId`=new.`MedicareCardId`, `ReimbursementCategoryId`=new.`ReimbursementCategoryId`, `SmsVerifyCode`=new.`SmsVerifyCode`, `IsFirstTime`=new.`IsFirstTime`, `HasPowerHospitalCard`=new.`HasPowerHospitalCard`, `ChildrenName`=new.`ChildrenName`, `ChildrenBirthday`=new.`ChildrenBirthday`, `ChildrenGender`=new.`ChildrenGender`, `ChildrenIdNo`=new.`ChildrenIdNo`, `KinshipName`=new.`KinshipName`, `JytCardId`=new.`JytCardId`, `CreateTime`=new.`CreateTime` WHERE Id =old.Id ;END IF;--恢复禁用触发器标志.

SET @disable_update_trigger_o = NULL;END;//DELIMITER ;3)、#######################################删除

DELIMITER//

CREATE TRIGGER`delete_BI_AppointmentOrder_trigger`

AFTERDELETE ON `BI_AppointmentOrder` FOR EACH ROW begin

--检查当前 环境,避免递归.

IF @disable_delete_trigger_o IS NULL THEN

--设置禁用触发器标志.

SET @disable_delete_trigger_o = 1;--删除目标表

DELETE FROM BI_AppointmentOrder_2018 WHERE Id =old.Id ;END IF;--恢复禁用触发器标志.

SET @disable_delete_trigger_o = NULL;END;//DELIMITER ;


http://www.niftyadmin.cn/n/1270270.html

相关文章

Inter-process Communication (IPC)

For Developers‎ > ‎Design Documents‎ > ‎Inter-process Communication (IPC) 目录 1 Overview1.1 IPC in the browser1.2 IPC in the renderer2 Messages2.1 Types of messages2.2 Declaring messages2.2.1 Pickling values2.3 Sending messages2.4 Handling messa…

mysql创建乘积语法的触发器_创建Mysql触发器的语法介绍

Mysql触发器是Mysql数据库非常重要的部分,下文对创建Mysql触发器及删除Mysql触发器作了详细的介绍,希望对您有所帮助。1、创建Mysql触发器:语法:CREATE TRIGGER trigger_name trigger_time trigger_event ON tbl_nameFOR EACH ROWBEGINtrigger_stmtEND&a…

Android 单例模式的正确姿势

单例模式是使用得最多的设计模式,模版代码也很多。但是如果使用不当还是容易出问题。 DCL模式(双重检查锁定模式)的正确使用方式 一般我们使用DCL方法来实现单例模式时都是这样的模版代码: private static Singleton mSingleton null; private Singleto…

vscode 断点调试知乎_VSCode原理解析 断点调试

背景 今年年初,有幸参与了IDE 共建项目组, 打造阿里生态体系内的公共IDE底层,而作为一款面向开发者的IDE,调试能力的支持一定程度上决定着一款IDE的开发体验;VSCode作为微软体系下一款当前最热的IDE开发工具,在调试领域上的探索实践是很好的学习案例,有道是:借他山之石,…

jta mysql_Springboot + Atomikos + Druid + Mysql 实现JTA分布式事务

DataSource 配置1 packagecom.cheng.dynamic.config;23 importjava.util.Properties;45 importjavax.sql.DataSource;67 importorg.springframework.beans.factory.annotation.Autowired;8 importorg.springframework.boot.jta.atomikos.AtomikosDataSourceBean;9 importorg.sp…

linux mysql 查看死锁_MySQL 死锁的详细分析方法

用数据库的时候,偶尔会出现死锁,针对我们的业务系统,出现死锁的直接结果就是系统卡顿、客户找事儿,所以我们也在想尽全力的消除掉数据库的死锁。出现死锁的时候,如果只是想解锁,用show full processlist看下…

echarts的日常(教学篇)

1.开发流程2.案例 2.1 入门demo2.2 echarts的常用属性。 1 title (标题)2 lengend (切换组件图例)3 grid (网格)4 xAxis(x轴)5 yAxis(y轴)6 toolbox (工具包)7 tooltip (鼠标悬停提示…

mysql设置变量用来排序_MySQL关于使用变量实现各种排序的示例代码分析

这篇文章主要介绍了MySQL使用变量实现各种排序,需要的朋友可以参考下核心代码--下面我演示下MySQL中的排序列的实现--测试数据CREATE TABLE tb(score INT);INSERT tb SELECT5 UNION ALL SELECT4 UNION ALL SELECT4 UNION ALL SELECT4 UNION ALL SELECT3 UNION ALL SELECT2 UNIO…