熱點推薦:
您现在的位置: 電腦知識網 >> 編程 >> Oracle >> 正文

oracle存儲過程中使用事務管理

2013-11-13 12:45:06  來源: Oracle 

  存儲過程裡的事務操作

  create or replace procedure pr_mypro(p_a in varcharp_b in varcharp_count out number)

  temp varchar();   /**//*定義臨時變量*/

  is

  begin

  select code into p_count from table where a=p_a; /**//*查詢並返回值*/

  temp := p_count;  /**//*將返回值賦給臨時變量*/

  savepoint point;  /**//*保存點*/

  insert into table(ab)values(tempp_b); /**//*將臨時變量值添加到新表的字段*/

  savepoint point;

  insert into

  exception

  when    others   then

  rollback to savepoint point;  /**//*異常處理保存點下面的操作都不會被執行*/

  return;

  end;

  保存點(SAVEPOINT)是事務處理過程中的一個標志與回滾命令(ROLLBACK)結合使用主要的用途是允許用戶將某一段處理回滾而不必回滾整個事務

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

  例如在一段處理中定義了五個savepoint從第三個savepoint回滾後面的第四第五個標記的操作都將被回滾如果不使用ROLLBACK TO savepoint_name而使用ROLLBACK將會滾整個事務處理


From:http://tw.wingwit.com/Article/program/Oracle/201311/16520.html
  • 上一篇文章:

  • 下一篇文章:
  • 推薦文章
    Copyright © 2005-2013 電腦知識網 Computer Knowledge   All rights reserved.