While @@Fetch_Status = 0
Begin
INSERT INTO [server].MyDatabase.dbo.Mytabletobeinserted (
UPC,
Sale_date)
VALUES(
@UPC,
@Sale_date)
'Inserting the error trapping here'
IF (@@ERROR <> 0)
BEGIN
ROLLBACK TRANSACTION;
RETURN;
END
Update t_sale_from_pos
set been_sent = 'y'
where UPC = @UPC and sale_date=@sale_date
Fetch Next from CursorSale
into
@UPC,
@Sale_date
end
close CursorSale
deallocate CursorSale
这个存储过程每天都使用调度程序运行,并且数据正在通过网络传递。当此存储过程执行时,然后在执行过程中会出现突然的网络超时。这将执行每一行以通过网络发送到其他服务器。
现在,我的问题是:
- 这将如何影响循环内调用回滚事务的数据?
- 它会再次读取所有行并将其发送到服务器以进行插入,还是只会读取执行期间失败的行?
需要一些建议。谢谢