有两个表T1和T2,如何在同一个事务中在这两个表中同时插入数据?

解决方案 »

  1.   

    begin tran
    insert into t1(...) values(...)
    if @@error <>0
    begin 
    rollback tran
    end
    else 
    insert into t2(...) values(...)
    if @@error <>0
    begin 
    rollback tran
    end
    else
    commit tran
    end
      

  2.   

    set xact_abort on
    begin tran
      INSERT INTO t1 VALUES (1)
      INSERT INTO t2 VALUES (2)
    commit tran
      

  3.   

    BEGIN TRY
    BEGIN TRANSACTION;
    --------XXXXXXXXXXXXXXxxx
    COMMIT TRANSACTION;
    END TRY
    BEGIN CATCH
        Rollback tran
    END CATCH;
      

  4.   

    理论上没有同时发生的事情,CPU执行指令也是一条一条的.
      

  5.   

    对啊,除非是多CPU了,应该是我想复杂了。