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调用,就像是一个单独的事务,就算是某个出错了也不会相互产生影响。

  • 相关阅读:
    cct,web技术
    cct信息安全
    TFS2010安装与管理
    centos7 opera济览器安装
    Hadoop 的常用组件一览
    Exception in thread "main" java.net.BindException: Address already in use: JVM_Bind
    gcc manual
    5350.support
    meminfo,df,
    WCF
  • 原文地址:https://www.cnblogs.com/jieqing/p/3520130.html
Copyright © 2011-2022 走看看