在服务器上写了个存储过程,定时执行这个存储过程,偶尔情况下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