zoukankan      html  css  js  c++  java
  • PL/SQL 一个数据对象一个事务(rollback,submit)

    /***********************************************
    一个数据对象一个事务(且记录错误信息到处理对象)
    ***********************************************/

     1 LOOP 要处理的对象
     2   begin
     3   invoke api1 (api没有ROLLBACK机制)
     4 
     5   if api1有错 then
     6     rollback;
     7     获取错误信息;
     8     更新错误信息到处理对象;
     9   end if
    10 
    11   invoke api2 (api有ROLLBACK机制)
    12 
    13   if api2有错 then
    14     获取错误信息;
    15     更新错误信息到处理对象;
    16   end if 
    17 
    18   exception 
    19   when others then 
    20     rollback;
    21     获取异常信息;
    22     更新异常信息到处理对象;
    23   end;
    24 
    25   commit;
    26 
    27 END LOOP;

    由于没有raise,所以就算程序遇到了错误,也会一直执行下去,但是会rollbck出错的那部分,并且会记下错误信息。

    所以,每个api调用,就像是一个单独的事务,就算是某个出错了也不会相互产生影响。

  • 相关阅读:
    UVA 10056 What is the Probability ?
    Reporting Services Report 带参数
    頁面刷新後,滾動條位置保持不變
    use this as the default and do not ask again
    JQuery Tab 滑动们导航菜单效果
    poj3256
    poj2060
    poj3280
    poj3261
    poj2135
  • 原文地址:https://www.cnblogs.com/jieqing/p/3520130.html
Copyright © 2011-2022 走看看