Insert Into Recycling Select * From DbList Where id=123
--这里省略很多行...
Delete From DbList Where id=123
以上语句怎样确保从第一行到最后一行同时执行成功呢?
要么同时执行成功,要么取消执行,避免执行一半时失败的结果。请高手帮忙,感激不尽!

解决方案 »

  1.   

    begain tran
    Insert Into Recycling Select * From DbList Where id=123
    --这里省略很多行...
    Delete From DbList Where id=123
    end tran
      

  2.   

    把这些语句放入一个事务中执行如果还需要自动回滚的话 可以加set xact_abort on
    begin
    set xact_abort on...--你的语句 end
      

  3.   

    SET XACT_ABORT ON
    BEGIN TRAN
    --SQL语句
    COMMIT TRAN
      

  4.   


    SET XACT_ABORT ON
    BEGIN TRAN
    --SQL语句
    COMMIT TRAN
    问题:当执行事务中的“SQL语句”时,如果会话突然中断,没有执行“COMMIT TRAN”,那么事务就会回滚吗?
      

  5.   



    因為開啟了
    SET XACT_ABORT ON--自動回復目前的交易。