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

 LOOP 要处理的对象
begin
invoke api1 (api没有ROLLBACK机制) if api1有错 then
rollback;
获取错误信息;
更新错误信息到处理对象;
end if invoke api2 (api有ROLLBACK机制) if api2有错 then
获取错误信息;
更新错误信息到处理对象;
end if 18 exception
when others then
rollback;
获取异常信息;
更新异常信息到处理对象;
end; commit; END LOOP;

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

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

PL/SQL 一个数据对象一个事务(rollback,submit)的更多相关文章

  1. ActiveX数据对象之事务控制在VB和DELPHI中的应用

            本文发表在中国人民解放军"信息工程大学"学报 2001年第3期.        ActiveX数据对象之事务控制在VB和DELPHI中的应用             ...

  2. 【转】PL/SQL编辑数据"这些查询结果不可更新,请包括ROWID或使用SELECT...FOR UPDATE获得可更新结果"处理

    [转]PL/SQL编辑数据"这些查询结果不可更新,请包括ROWID或使用SELECT...FOR UPDATE获得可更新结果"处理 只要有人用了: select t.* from ...

  3. Python基础总结之第十天开始【认识一下python的另一个数据对象-----字典】(新手可相互督促)

    看了大家的评论,还是有意外的收货.感谢每个小伙伴的评论与补充. 众人拾柴火焰高~ 今天的笔记是记录python中的数据对象----字典! 前面有讲到list列表和tuple元组的笔记,他们都是一样可以 ...

  4. pl/sql 过程 函数(写一个过程,输入部门编号,在控制台打印这个部门的名称,总人数,平均工资(基本工资+奖金))

    1.编写过程,输入三角形三个表的长度.在控制台打印三角形的面积. create or replace procedure pro_s(v_a number,v_b number,v_c number) ...

  5. pl/sql学习(5): 触发器trigger/事务和锁

    (一)触发器简单介绍 触发器是由数据库的特定时间来触发的, 特定事件主要包括以下几种类型: (1)DML: insert, update,delete 增删改 (2)DDL: create, alte ...

  6. PL/SQL修改数据之后,程序查到的还是原来的数据怎么办?

    我们在开发的过程中,可能需要手动删除或者修改数据库数据,但是在update之后,程序还是查到的是原始的数据.而我们自己在pl/sql中查到的确实修改之后的数据,通常情况下这个是因为我们在修改之后没有c ...

  7. PL/SQL创建数据表空间

    创建数据表空间create tablespace stbss datafile 'E:\oracle\product\10.2.0\oradata\orcl\stbss_temp01.dbf' siz ...

  8. PL/SQL编辑数据"这些查询结果不可更新,请包括ROWID或使用SELECT...FOR UPDATE获得可更新结果"处理

    只要有人用了: select t.* from 表名  t where 字段=xxx  for update 而不是: select t.rowid,t.* from 表名  t where 字段=x ...

  9. Pl/sql 导入数据错位问题

    在查询列的时候 多查询一列就可以了 当然是要在所有列对应的情况下 把第一列的 前追加一列 这样就不会错位了 例如如下图

随机推荐

  1. HTML篇(上)

    1.Doctype作用?标准模式与兼容模式有什么区别? (1)<!doctype>声明位于HTML文档中的第一行,处于<html>标签之前.告知浏览器的解析器用什么文档标准解析 ...

  2. jquery图片延迟加载 及 serializeArray、serialize用法记录

    1.使用jquery实现 图片延迟加载 由于用户访问页面需要加载很多的图片,延迟加载技术在电子商务网站领域越来越普及,淘宝商城,京东商城,凡客等访问量巨大的电子商务站点为了增加用户用户体验,访问速度以 ...

  3. ubuntu 安装 pythonenv

    This will get you going with the latest version of pyenv and make it easy to fork and contribute any ...

  4. mysql 编写存储过程

    先看例子: 1.delimiter $$2.drop procedure if exists`test_procedure` $$3.create procedure test_procedure(I ...

  5. 使用 mysql PDO 防止sql注入

    技巧: 1. php升级到5.3.6+,生产环境强烈建议升级到php 5.3.9+ php 5.4+,php 5.3.8存在致命的hash碰撞漏洞. 2. 若使用php 5.3.6+, 请在在PDO的 ...

  6. HY.Mail:C#简单、易用的邮件工具库

    一.开发HY.Mail的初衷 Nuget或者github上有很多成熟且优秀的邮件库可以使用, 但是目前找到的使用都不够简洁或者不适合我的使用场景 我的场景是开发应用场景(例如系统通知.运维通知),而非 ...

  7. Kill 进程

      动态杀各种进程,谨慎操作:事例 status='sleeping'   --AUTHOR      KiNg --DATE        2016-05-30 DECLARE @SPID INT ...

  8. Git与GitHub学习笔记(八)git如何同时同步提交到码云和GitHub上

    前言: 今天github push代码一直push不上去,打算就备份一份代码带国内开源码云上. Github容易出现的情况是: 国内访问速度比较慢, 如果被墙掉的话,就直接没发使用了 如果开源个PHP ...

  9. python重试装饰器的简单实现

    简单实现了一个在函数执行出现异常时自动重试的装饰器,支持控制最多重试次数,每次重试间隔,每次重试间隔时间递增. 最新的代码可以访问从github上获取 https://github.com/black ...

  10. Spring MVC报错:The request sent by the client was syntactically incorrect ()

    原因: 1.参数名称不一致 2.参数类型不一致