SQL数据库这个存储过程应该如何写?

来源:百度知道 编辑:UC知道 时间:2024/09/22 05:43:48
希望是自动存储过程的语句,不是需要执行的UPDATE或者INSERT语句
SQL数据库:A 和B 数据库A里面的表a有字段ID,S,M,数据库B里面的表b有字段ID1,S1,M1,使用存储过程自动将数据库A里面表a的数据自动插入到数据库B里面的表b,且只插入数据库A里面表a的ID不包含在数据B里面表b的ID1里面的数据,
使用触发器,在A库的a表中建立 Insert,Update 触发器,使在数据写入或更新时,将变更实时写入B库b表

这个触发器怎么写呢。我是菜鸟,希望有个写好的触发器参考一下,谢谢

两个方案:
1、使用触发器,在A库的a表中建立 Insert,Update 触发器,使在数据写入或更新时,将变更实时写入B库b表;
好处:简单、实时;缺点:远程实时访问以及触发器的方式,风险大,当B不能访问或反应缓慢时,A库的a表就无法更新;

2、使用计划任务:好处:可避免上述的所有缺点;不足:实现稍复杂些,且不是实时同步;步骤:
1)为A库a表建立日志表a_log,用于详细记录对a表的插入、删除、和Update操作,并有时间记录;
2)为A库a表建立Insert,Update,Delete 触发器,将对a表的这些操作过程记录在a_log表中(即:对哪个ID做了什么操作);
3)在B库中建立存储过程,用于读取A库a_log表的信息,并据此用a表数据更新b表数据。可采用增量方式,也就是每次操作时都取上次成功的时间点之后的数据;
4)在B库建立计划任务,定时调用上述的存储过程。按需要,可以几分钟一次,也可以几天一次。