大侠:
  需求如下:
  一个主存储过程:Main_Proc,在主存储过程(Main_Proc)中分别调用两个子存储过程:Sub1_Porc和Sub2_Proc。如何做到:在调用两个子存储过程时,这两个数据库事务相互独立,即sub1_proc中出现错误,也不会影响sub2_proc中的操作?
不知可以否?  

解决方案 »

  1.   

    如果
    你没有用
    set xact_abort on 去自动回滚
    被调用的存储过程发生严重错误时,调用它的存储过程可以捕获错误,并可以继续执行下去
    如果错误比较严重,就算用 set xact_abort on 来自动回滚事务
    也无法回滚
      

  2.   

    create proc proc_main
    as
     exec proc_a --如果有錯誤,proc_b 接着执行
     exec proc_b
      

  3.   

    分很多种情况的:
    主SP中是否加set xact_abort on?
    SP1中是否加set xact_abort on?
    SP2中是否加set xact_abort on?排列组合:2*2*2=8种情况,测试一下哪种是你要的.