关于一个SQL数据库的问题,比如我同时插入两个表,A和B,插入A表成功,但插入B表的时候失败,这时A表的数据也应该不要插入,这样的东西怎么写呢(触发器还是事务)?

解决方案 »

  1.   

    if(@@error <> 0)
        rollback
    else
        commit
      

  2.   

    这样写
    主要结构
    begin tran
         delete tblPhoneOperation_DoFeedBk  where  fid = @ID
         if @@error <>0
         begin
            RollBack Tran 
            return  (-1)
        end 
        delete  tblPhoneOperation_Do  where fid = @ID
        if @@error <>0 
        begin
            RollBack Tran 
            return  (-2)
        end
        delete tblPhoneOperation where id = @ID
        if @@error <>0 
        begin
            RollBack Tran 
            return (-3)
        endcommit tran
    return(1)
    GO
      

  3.   

    事务
    begin tran
       insert A select 1
       insert B select 2
       if @@error<>0
        begin
         rollback tran
         return
        end
    commit tran