沉睡森林@漂在北京

          本處文章除注明“轉(zhuǎn)載”外均為原創(chuàng),轉(zhuǎn)載請注明出處。

            BlogJava :: 首頁 :: 新隨筆 :: 聯(lián)系 :: 聚合  :: 管理 ::
            152 隨筆 :: 4 文章 :: 114 評論 :: 0 Trackbacks
          存儲(chǔ)過程里的事務(wù)操作:
          create or replace procedure pr_mypro2(p_a in varchar2,p_b in varchar2,p_count out number)
          temp varchar2(1000);   /**//*定義臨時(shí)變量*/
          is
          begin
          select code into p_count from table1 where a=p_a; /**//*查詢并返回值*/
          temp := p_count;  /**//*將返回值賦給臨時(shí)變量*/
          savepoint point1;  /**//*保存點(diǎn)*/
          insert into table2(a,b)values(temp,p_b); /**//*將臨時(shí)變量值添加到新表的字段*/
          savepoint point2;
          insert into 

           exception   
                when   others   then   
                    rollback to savepoint point1;  /**//*異常處理,保存點(diǎn)下面的操作都不會(huì)被執(zhí)行*/
                   return;
          end;
           
              保存點(diǎn)
          (SAVEPOINT)是事務(wù)處理過程中的一個(gè)標(biāo)志,與回滾命令(ROLLBACK)結(jié)合使用,主要的用途是允許用戶將某一段處理回滾而不必回滾整個(gè)事務(wù)。
                如果定義了多個(gè)savepoint,當(dāng)指定回滾到某個(gè)savepoint時(shí),那么回滾操作將回滾這個(gè)savepoint后面的所有操作(即使后面可能標(biāo)記了N個(gè)savepoint)。
          例如,在一段處理中定義了五個(gè)savepoint,從第三個(gè)savepoint回滾,后面的第四、第五個(gè)標(biāo)記的操作都將被回滾,如果不使用ROLLBACK TO savepoint_name而使用ROLLBACK,將會(huì)滾整個(gè)事務(wù)處理。
          posted on 2010-01-26 18:58 王總兵 閱讀(359) 評論(0)  編輯  收藏 所屬分類: DataBase
          主站蜘蛛池模板: 崇明县| 通海县| 阿图什市| 新乐市| 秀山| 海宁市| 通榆县| 苏尼特右旗| 丰宁| 余干县| 云林县| 佛学| 西平县| 石首市| 丹棱县| 德保县| 澎湖县| 南部县| 前郭尔| 全州县| 从江县| 吉木萨尔县| 日照市| 克拉玛依市| 金门县| 稷山县| 克什克腾旗| 兰坪| 铜川市| 日土县| 利辛县| 合山市| 闵行区| 丰台区| 洪泽县| 文山县| 通辽市| 离岛区| 大安市| 成都市| 芦山县|