if (@@error=0 )
Commit Transaction myTran
else
Rollback Transaction myTran

解决方案 »

  1.   

    --只要有错误,就回滚,没有则提交
    begin Transaction myTran
    insert into mytable(f1,f2,f3) values(...)
    if @@error<>0 goto Err1
    insert into mytable(f1,f2,f3) values(...)
    if @@error<>0 goto Err1
    insert into mytable(f1,f2,f3) values(...)
    if @@error<>0 goto Err1commit tran myTran
    return
    ....
    Err1:
    rollback tran myTran
      

  2.   

    When SET XACT_ABORT is ON, if a Transact-SQL statement raises a run-time error, the entire transaction is terminated and rolled back
    也可以这样:
    set xact_abort on 
    begin Transaction myTran
    insert into mytable(f1,f2,f3) values(...)
    insert into mytable(f1,f2,f3) values(...)
    insert into mytable(f1,f2,f3) values(...)
    ....Commit Transaction myTran 
    set xact_abort off
      

  3.   

    此答案是为标准答案
    begin Transaction myTran
      insert into mytable(f1,f2,f3) values(...)
      insert into mytable(f1,f2,f3) values(...)
      insert into mytable(f1,f2,f3) values(...)
    if (@@error=0 )
    Commit Transaction myTran
    else
    Rollback Transaction myTran结贴吧
      

  4.   

    begin distributed tranction yourtran
    insert into table1 values (,,,,)
    insert inot table2 values (,,,,)
    .......
    commit tranction
      

  5.   

    正确答案 只有 
    xhwly(wly) 
    sdhdy(大江东去...)
    --------
    其它的都是错误的~~