本站不再更新,歡迎光臨 java開發技術網
          隨筆-230  評論-230  文章-8  trackbacks-0
          create or replace procedure delete_exceed_bound(playtype  varchar2, end07  varchar2 , end08  varchar2)
            
          is

            
          begin
              
          delete lotterydate where lotterydate.playtype=playtype and  lotterydate.lotterydate_name>end07 and lotterydate.lotterydate_name like '07%';
              
          delete lotterydate where lotterydate.playtype=playtype and  lotterydate.lotterydate_name>end08 and lotterydate.lotterydate_name like '08%';
              savepoint p1;
              
          delete province_sell_amounts where province_sell_amounts.play_no=playtype and province_sell_amounts.term>end07 and province_sell_amounts.term like '07%';
              
          delete province_sell_amounts where province_sell_amounts.play_no=playtype and province_sell_amounts.term>end08 and province_sell_amounts.term like '08%';

              
          delete province_winning_prize where province_winning_prize.play_no=playtype and province_winning_prize.term>end07 and province_winning_prize.term like '07%';
              
          delete province_winning_prize where province_winning_prize.play_no=playtype and province_winning_prize.term>end08 and province_winning_prize.term like '08%';
              savepoint p2;
              
          delete condition_winning_prize where condition_winning_prize.play_no=playtype and condition_winning_prize.term>end07 and condition_winning_prize.term like '07%';
              
          delete condition_winning_prize where condition_winning_prize.play_no=playtype and condition_winning_prize.term>end08 and condition_winning_prize.term like '08%';
              savepoint p3;
              
          delete open_result where open_result.play_no=playtype and open_result.term>end07 and open_result.term like '07%';
              
          delete open_result where open_result.play_no=playtype and open_result.term>end08 and open_result.term like '08%';


            exception
                
          when others then
                  dbms_output.put_line(sqlerrm);
                  
          rollback to savepoint p1;
            
          end delete_exceed_bound;
          保存點(SAVEPOINT)是事務處理過程中的一個標志,與回滾命令(ROLLBACK)結合使用,主要的用途是允許用戶將某一段處理回滾而不必回滾整個事務。

           

          如果定義了多個savepoint,當指定回滾到某個savepoint時,那么回滾操作將回滾這個savepoint后面的所有操作(即使后面可能標記了Nsavepoint)。

          在一段處理中定義了3個savepoint,從第2個savepoint回滾,后面的第3個標記的操作都將被回滾,如果不使用ROLLBACK TO savepoint_name而使用ROLLBACK,將會滾整個事務處理。

          posted on 2008-06-24 16:41 有貓相伴的日子 閱讀(4744) 評論(3)  編輯  收藏 所屬分類: pl/sql

          評論:
          # re: oracle 存儲過程事務使用斷點回滾 2009-12-30 14:13 | 張_斌
          學習了!  回復  更多評論
            
          # re: oracle 存儲過程事務使用斷點回滾[未登錄] 2010-06-25 17:38 | AK
          update 怎么就不能設置 保存點呢?  回復  更多評論
            
          # re: oracle 存儲過程事務使用斷點回滾 2012-12-08 11:45 | 11
          11  回復  更多評論
            
          本站不再更新,歡迎光臨 java開發技術網
          主站蜘蛛池模板: 东台市| 清原| 左云县| 托克逊县| 洪湖市| 闽侯县| 富顺县| 怀来县| 莱阳市| 阿坝县| 红原县| 泽州县| 金华市| 灵宝市| 阜宁县| 黑龙江省| 静乐县| 北辰区| 马关县| 南城县| 饶阳县| 平武县| 汝州市| 弋阳县| 福海县| 正阳县| 琼中| 监利县| 日喀则市| 栾川县| 临西县| 大埔县| 江城| 邵武市| 达州市| 久治县| 仪征市| 土默特左旗| 安阳县| 泰州市| 尤溪县|