一共有两个表a和b,a表中有字段a_col1,a_col2,a_col3, b表中有字段b_col1,b_col2,b_col3. b表中的数据来自a表,具体操作的语句是这样的:
    insert a(a_col1,a_col2,a_col3) select col1,col2,col3 from ...
    insert into b(b_col1,b_col2,b_col3) select a_col1,a_col2,a_col3 from a    执行成功后,b表中的数据和a表中的数据有部分不一致,而且分布的比较分散,大部分还是一致的...这是个比较奇怪的问题.按说insert into执行过程中出现错误的话,操作会回滚,将会没有数据插入,可现在是操作成功,但数据不一致.     
    当然这个问题是在系统实际运行环境中出现的,重现的可能性微乎其微.百思不得其解...

解决方案 »

  1.   

    可能是你原来的表有数据。
    这要是有问题,如果INSERT
    有问题,微软不也不用干了
      

  2.   

    a表中的数据一般只会插入一次,第一次插入时是没有新数据,所以是没有重复数据的.如果重复操作的话也会把新插入的数据删除掉的,最重要的是a表的最后一列是通过Getdate()插入的,如果以前的数据没有删除的话,时间值肯定不一样,这也是我最困惑的地方......
      

  3.   

    @qianjin036a
        呵呵 没有银子啊
    @dutguoyi 
        倒是看不错的,不过是不是其他原因要继续查一下,大数据量测试也是一个办法了,我试试