首页 诗词 字典 板报 句子 名言 友答 励志 学校 网站地图
当前位置: 首页 > 教程频道 > 数据库 > SQL Server >

表数据反复

2013-09-26 
表数据重复本帖最后由 jkshu 于 2013-09-04 11:48:37 编辑在服务器上写了个存储过程,定时执行这个存储过程

表数据重复
本帖最后由 jkshu 于 2013-09-04 11:48:37 编辑 在服务器上写了个存储过程,定时执行这个存储过程,偶尔情况下a表中会得到重复数据,请大家帮忙看看。
a、b表结构完全一样。
BEGIN TRAN
  insert into a select * from b
  if(@@error<>0) 
  BEGIN
      ROLLBACK TRAN
      RETURN
  END
  TRUNCATE TABLE b
  if(@@error<>0)
  BEGIN
      ROLLBACK TRAN
      RETURN
  END
COMMIT TRAN

[解决办法]

解决方法是A表中设置一个主键 然后插入的时候用语句
insert into a select * from b where not exists(select 1 from a where a.主键=b.关联字段)

[解决办法]
try this,

BEGIN TRAN
  insert into a select distinct * from b
  if(@@error<>0) 
  BEGIN
      ROLLBACK TRAN
      RETURN
  END
  TRUNCATE TABLE b
  if(@@error<>0)
  BEGIN
      ROLLBACK TRAN
      RETURN
  END
COMMIT TRAN

热点排行