现在两个MS  SQL数据库 其中都有结构相同的A表,而且都有触发器  
触发器是用来执行业务规则的.  
 
现在我将一个库中A表的变动数据更新到另一个库中A表中:  
 
我现在的做法:  
1、将A表的变动记录一个变动表中  
2、根据变动表生成SQL语句  
3、在需要同步的数据中执行生成的SQL语句  
 
问题在第三步出现了,我更新另一库中A表时,A表的触发器起作用了,把我上传的数据进行了修改,导致业务数据不一致。  
我在更新数据时,还不能停止A表的触发器,因为这时有用户在办理业务。  
 
请问高手有好的办法来实现????  
 
我目前想出几个笨的办法  
1、在A表加入一个上传字段,修改触发器,判断如果为上传记录,不执行触发器代码   问题:不具有通用性  
2、来找出MS  SQL执行一个数据加载命令,不引发触发器  

解决方案 »

  1.   

    yuedeem(扔石头打天) ,我哪里说的不清楚请说明一下,谢谢
      

  2.   

    就不能在触发器最前面把数据写入变动表呀触发器改为after的不就行了
      

  3.   

    ReViSion(和尚) ,不是生成变动表有问题.
    问题出现在我上传同步的时候,我上传A表数据如:字段A=1 字段B=2
    这时A表触发器起作用了,把我的数据修改为字段A=1 字段B=6
    这时我上传的数据就不一郅了
      

  4.   

    ReViSion(和尚) ,这几天有点其它问题,不好意思.
    我变动表只记录表ID,表记录ID,变动时间字段然后根据变动表生成上报变动数据XML文件将变动数据XML文件,上传到上报数据库中,进行更新.
    我的问题是我将变动数据更新到上报数据库中,不想执行表的触发器