Oracle游标示例一则,带异常处理。

DECLARE
CURSOR c_dl IS
SELECT ID, NSRSBH, WSPZXH, ZXYY_DM, HZRQ, SWJG_DM, GXSJ
FROM T_GUOS_ZXXX
WHERE gxsj > begin_gxsj;
c_row c_dl%ROWTYPE;
BEGIN
FOR c_row IN c_dl LOOP
BEGIN
IF (c_row.GXSJ > max_gxsj) THEN
BEGIN
max_gxsj := c_row.GXSJ;
END;
END IF;
handled_count := handled_count + 1;
--
MERGE INTO T_FR_GUOSZX T
USING (SELECT c_row.NSRSBH NSRSBH,
c_row.WSPZXH WSPZXH,
c_row.ZXYY_DM ZXYY_DM,
c_row.HZRQ HZRQ,
c_row.SWJG_DM SWJG_DM,
c_row.GXSJ GXSJ
FROM dual) NT
ON (T.NSRSBH = NT.NSRSBH)
WHEN MATCHED THEN
UPDATE
SET ZXWSXH = NT.WSPZXH
WHEN NOT MATCHED THEN
INSERT
(ID, NSRSBH, ZXWSXH, ZXYY, ZXRQ, ZXJG, GXSJ)
VALUES
...
COMMIT;
--当出现异常时,将异常插入日志表,并继续下一次循环
EXCEPTION
WHEN OTHERS THEN
ROLLBACK;
error_count := error_count + 1;
errorcode := SQLCODE;
errmsg := SQLERRM;
BEGIN
--执行出错时,将错误信息记录到日志表
COMMIT;
END;
END;
END LOOP;
END;

Oracle 游标示例,带异常处理的更多相关文章

  1. Oracle游标示例

    -- 声明游标:CURSOR cursor_name IS select_statement --For 循环游标 --(1)定义游标 --(2)定义游标变量 --(3)使用for循环来使用这个游标 ...

  2. oracle 游标示例

    declare iCount int:=0; sPath nvarchar2(200); tdzsh nvarchar2(50);begin for x in (select c.imgpath fr ...

  3. oracle 游标简单示例

    1.游标的概念以及作用 游标(Cursor)可以使用户想操作数组一样对查询出来的结果集进行操作,可以形象的看做一个变动的光标,其实际行是一个指针,它在一段Oracle存放数据查询结果集或数据 操作集的 ...

  4. Oracle游标--cursor_01-简单不带参数实现功能

    对于游标这个概念,可以理解为类似我们以前学习的jdbc的结果集对象, 我们可以使用游标对结果集从上到下进行遍历,获取每一行内容 首先我们要分析一下游标的分类 带参数的 书写函数的整体架构 定义游标 开 ...

  5. Oracle游标带参数

    Oracle游标是可以带参数的,而SqlServer的游标就不可以了 create or replace procedure a as cursor b(c_id int)is select * fr ...

  6. Oracle游标的使用示例

    此文是使用Oracle游标的几种方式,for...in会自动打开游标,fetch...into需要手动打开游标,游标类似于一个只会往前移动的指针,每次指向数据集中的一行数据,通过游标可以打开数据集,也 ...

  7. Oracle 游标

    游标的简介 游标的概念 游标是从数据表中提取出来的数据,以临时表的形式存放在内存中,在游标中有一个数据指针,在初始状态下指向的是首记录,利用fetch语句可以移动该指针,从而对游标中的数据进行各种操作 ...

  8. Oracle游标介绍

    Oracle游标使用详解: 游标: 用来查询数据库,获取记录集合(结果集)的指针,我们所说的游标通常是指显式游标,因此从现在起没有特别指明的情况,我们所说的游标都是指显式游标.要在程序中使用游标,必须 ...

  9. 使用示例带你提前了解 Java 9 中的新特性

    使用示例带你提前了解 Java 9 中的新特性 转载来源:https://juejin.im/post/58c5e402128fe100603cc194 英文出处:https://www.journa ...

随机推荐

  1. C++学习笔记28:运行期型式信息

    RTTI 运行期标识对象的型式信息 优势:允许使用指向基类的指针或引用自如地操作派生类的对象 typeid:获取表达式的型式:type_info:型式信息类 头文件:typeinfo 对象转型模板 d ...

  2. Decorator实现AOP编程。

    Program.cs class Program { static void Main(string[] args) { User user = " }; var processor = T ...

  3. Android技术积累:开发规范

    转载自Keegan小钢 http://keeganlee.me/post/android/20150709 书写规范 1. 编码方式统一用UTF-8. Android Studio默认已是UTF-8, ...

  4. Hive自定义函数的学习笔记(1)

    前言: hive本身提供了丰富的函数集, 有普通函数(求平方sqrt), 聚合函数(求和sum), 以及表生成函数(explode, json_tuple)等等. 但不是所有的业务需求都能涉及和覆盖到 ...

  5. Python 文件操作函数

    这个博客是 Building powerful image classification models using very little data 的前期准备,用于把图片数据按照教程指示放到规定的文 ...

  6. 原生js tab 栏切换

    <div id="box"> <div> <button>按钮1</button> <button>按钮2</bu ...

  7. 过滤emoji表情

    str=str.replace(/\ud83c[\udf00-\udfff]|\ud83d[\udc00-\ude4f]|\ud83d[\ude80-\udeff]/g, "");

  8. service的简单使用

    Service的生命周期方法比Activity少一些,只有onCreate, onStart, onDestroy 我们有两种方式启动一个Service,他们对Service生命周期的影响是不一样的. ...

  9. google.GIS小例子

    var map; var array = [[41.774166667, 85.943055556], [43.864052, 87.560499]];//经纬度 var array1 = [&quo ...

  10. Android驱动开发前的准备(一)

    Android系统移植与驱动开发概述 1.1 Android 系统架构 1.2 Android系统移植的主要工作 1.3 查看linux内核版本 1.4 linux内核版本号的定义规则 1.5 lin ...