亚洲免费在线-亚洲免费在线播放-亚洲免费在线观看-亚洲免费在线观看视频-亚洲免费在线看-亚洲免费在线视频

SQLServer 存儲(chǔ)過(guò)程嵌套事務(wù)處理

系統(tǒng) 5064 0
原文: SQLServer 存儲(chǔ)過(guò)程嵌套事務(wù)處理

某個(gè)存儲(chǔ)過(guò)程可能被單獨(dú)調(diào)用,也可能由其他存儲(chǔ)過(guò)程嵌套調(diào)用,則可能會(huì)發(fā)生嵌套事務(wù)的情形。

下面是一種解決存儲(chǔ)過(guò)程嵌套調(diào)用的通用代碼,在不能確定存儲(chǔ)過(guò)程是否可能被其他存儲(chǔ)過(guò)程調(diào)用的情況下,建議每個(gè)存儲(chǔ)過(guò)程都按照這個(gè)模板建立

      
        
          create
        
        
          proc
        
        
           proc_example 
        
        
          as
        
        
          begin
        
        
          --
        
        
          聲明變量,存放當(dāng)前已開(kāi)啟的事務(wù)數(shù)
        
        
          declare
        
        
          @exist_trancount
        
        
          int
        
        
          select
        
        
          @exist_trancount
        
        
          =
        
        
          @@trancount
        
        
          if
        
        
          @exist_trancount
        
        
          >
        
        
          0
        
        
          --
        
        
          創(chuàng)建事務(wù)保存點(diǎn)
        
        
          save
        
        
          transaction
        
        
           tran_proc 
        
        
          else
        
        
          --
        
        
          開(kāi)啟新事務(wù)
        
        
          begin
        
        
          transaction
        
        
           tran_proc 
        
        
          /*
        
        
           存儲(chǔ)過(guò)程業(yè)務(wù)處理代碼 ········· 
        
        
          */
        
        
          if
        
        
          @@error
        
        
          <>
        
        
          0
        
        
          goto
        
        
           error 
        
        
          if
        
        
          @exist_trancount
        
        
          =
        
        
          0
        
        
          --
        
        
          提交事務(wù)
        
        
          commit
        
        
          tran
        
        
           tran_proc 
        
        
          return
        
        
          1
        
        
           error: 
        
        
          --
        
        
          回滾事務(wù)或者事務(wù)保存點(diǎn)
        
        
          rollback
        
        
          transaction
        
        
           tran_proc 
        
        
          return
        
        
          -
        
        
          1
        
        
          end
        
      
    

解釋:

1) 首先判斷當(dāng)前存儲(chǔ)過(guò)程實(shí)例執(zhí)行是否是嵌套事務(wù)調(diào)用。如果是嵌套,則存儲(chǔ)過(guò)程判斷的@@TRANCOUNT應(yīng)該大于0,此時(shí)創(chuàng)建一個(gè) 事務(wù)保存點(diǎn) ,而非開(kāi)啟新事務(wù);如果不是嵌套事務(wù),則 @@TRANCOUNT 應(yīng)該為0,此時(shí)開(kāi)啟新事務(wù)即可

2)然后,是存儲(chǔ)過(guò)程本身的業(yè)務(wù)處理代碼,每一步處理代碼需要判斷@@ERROR,如果<>0,執(zhí)行error代碼

3)最后,如果處理正確執(zhí)行,并且非嵌套調(diào)用,則提交事務(wù);如果發(fā)生錯(cuò)誤,則回滾事務(wù)或者回滾保存點(diǎn)。

?

當(dāng)然調(diào)用存儲(chǔ)過(guò)程的地方,需要判斷存儲(chǔ)過(guò)程的返回值來(lái)做相應(yīng)的處理

?

如有不對(duì)的地方,歡迎拍磚;如有其他方法,求分享,謝謝!O(∩_∩)O

?

SQLServer 存儲(chǔ)過(guò)程嵌套事務(wù)處理


更多文章、技術(shù)交流、商務(wù)合作、聯(lián)系博主

微信掃碼或搜索:z360901061

微信掃一掃加我為好友

QQ號(hào)聯(lián)系: 360901061

您的支持是博主寫(xiě)作最大的動(dòng)力,如果您喜歡我的文章,感覺(jué)我的文章對(duì)您有幫助,請(qǐng)用微信掃描下面二維碼支持博主2元、5元、10元、20元等您想捐的金額吧,狠狠點(diǎn)擊下面給點(diǎn)支持吧,站長(zhǎng)非常感激您!手機(jī)微信長(zhǎng)按不能支付解決辦法:請(qǐng)將微信支付二維碼保存到相冊(cè),切換到微信,然后點(diǎn)擊微信右上角掃一掃功能,選擇支付二維碼完成支付。

【本文對(duì)您有幫助就好】

您的支持是博主寫(xiě)作最大的動(dòng)力,如果您喜歡我的文章,感覺(jué)我的文章對(duì)您有幫助,請(qǐng)用微信掃描上面二維碼支持博主2元、5元、10元、自定義金額等您想捐的金額吧,站長(zhǎng)會(huì)非常 感謝您的哦!!!

發(fā)表我的評(píng)論
最新評(píng)論 總共0條評(píng)論
主站蜘蛛池模板: 久久香蕉国产线看精品 | 精品国产免费久久久久久婷婷 | 国产精品丝袜在线 | 国产精品免费看久久久香蕉 | 国产福利精品视频 | 九九在线视频 | 九九九精品在线观看 | 99热久久这里只有精品7 | 日韩欧美一区二区三区久久 | jizzz亚洲美女| 日韩天天摸天天澡天天爽视频 | 久久久久99精品成人片三人毛片 | 亚洲成人网在线 | 国产大学生一级毛片绿象 | 特级一级毛片 | 亚洲欧美日韩国产精品久久 | 欧美精| 中文xxx视频 | 色婷婷久久免费网站 | 色黄网站青青草原免费 | 激情四播| 天天艹综合 | 99视频国产热精品视频 | 九天玄帝诀免费完整观看 | 亚洲欧美日韩国产精品影院 | 久久er国产精品免费观看2 | 伊人久久网站 | 欧美精品亚洲精品日韩专区 | 毛片91| 亚洲日本综合 | 久久色伊人 | 久久久久久久免费视频 | 国产一区二区免费福利片 | 九九99九九视频在线观看 | 亚洲视频在线观看视频 | 日本一级淫片a的一级欧美 日本一级淫片a免费播放 | 毛片网站视频 | 成人精品久久 | 欧美成人久久 | 特一级男女性色大片 | 在线播放成人毛片免费视 |