2017-07-24 14:12:42

SQL内容:

  1.一次性检索 100000 条数据。

  2. 1000 条提交一次。

  3.超过 100000 万条,重新打开游标,重新检索。

pl/sql内容如下:

 CREATE OR REPLACE PROCEDURE P_MDF_TEST ( branchno1 in varchar )
AS
cursor cur_inst is select plcno from t1test where
branch in ( select branchcode from t_test start with branchcode =branchno1 connect by prior branchcode = supercode )
and primprdcode in ( '', '')
and ( InsExprtDate <> date '9999-12-31' or InsExprtDate is null );
record cur_inst%rowtype;
i_count int;
iFlag int ;
-- v_end varchar2(30); 时间
BEGIN
dbms_output.put_line('开始执行');
iFlag :=1;
loop
if iFlag = 0 then
exit;
end if;
i_count:=0;
open cur_inst;
if cur_inst%isopen then
loop
fetch cur_inst into record;
if cur_inst%notfound then
iFlag:=0;
exit;
end if ;
update t1test set InsExprtDate =date '9999-12-31' where plcno=record.plcno;
update t2test set InsExprtDate =date '9999-12-31' where plcno=record.plcno;
-- dbms_output.put_line(record.plcno);
i_count := i_count + 1;
if i_count >=1000 then
-- dbms_output.put_line(i_count);
-- select to_char(sysdate,'yyyy-mm-dd hh24:mi:ss') into v_end from dual;
-- dbms_output.put_line(v_end);
i_count:=0;
commit;
end if ;
if cur_inst%ROWCOUNT >=100000 then
-- dbms_output.put_line('进来了');
-- dbms_output.put_line(cur_inst%ROWCOUNT);
exit ;
end if ;
end loop;
commit;
close cur_inst;
end if;
end loop;
dbms_output.put_line('执行结束');
END;

新建测试窗口,执行以下内容:

begin
-- Call the procedure
p_mdf_test(branchno1 => '');
end;

oracle 存储过程循环打开游标数据处理的更多相关文章

  1. Oracle 存储过程调用返回游标的另一个存储过程。

    一个扩展存储过程调用另一个存储过程,示例: 被调用存储过程:最后会返回一个游标,游标返回一个值.调用这个存储过程的存储过程同样需要获取它. procedure SearchBill --根据到货单号查 ...

  2. java调用oracle存储过程返回多条结果集

    oracle版本:11g oracle存储过程,使用游标的方式返回多行.多列数据集合: CREATE OR REPLACE PROCEDURE SP_DATA_TEST( /*P_ID IN INT, ...

  3. 四、Oracle loop循环、while循环、for循环、if选择和case选择、更改读取数据、游标、触发器、存储过程

    数据库的设计(DataBase Design): 针对于用户特定的需求,然后我们创建出来一个最使用而且性能高的数据库! 数据库设计的步骤: 01.需求分析 02.概念结构设计 03.逻辑结构设计 04 ...

  4. ORACLE存储过程,循环语法和游标

    1.定义所谓存储过程(Stored Procedure),就是一组用于完成特定数据库功能的SQL语句集,该SQL语句集经过编译后存储在数据库系统中.在使用时候,用户通过指定已经定义的存储过程名字并给出 ...

  5. ORACLE 11G在存储过程里面遍历游标, 调用job任务定时运行

    ORACLE存储过程里游标遍历.调用job定时运行 1,第一种使用For 循环 for循环是比較简单有用的方法. 首先.它会自己主动open和close游标.攻克了你忘记打开或关闭游标的烦恼. 其次, ...

  6. oracle存储过程、声明变量、for循环|转|

    oracle存储过程.声明变量.for循环 1.创建存储过程 create or replace procedure test(var_name_1 in type,var_name_2 out ty ...

  7. oracle存储过程、声明变量、for循环(转)

    oracle存储过程.声明变量.for循环 1.创建存储过程 create or replace procedure test(var_name_1 in type,var_name_2 out ty ...

  8. Oracle-4 - :超级适合初学者的入门级笔记:plsql,基本语法,记录类型,循环,游标,异常处理,存储过程,存储函数,触发器

    初学者可以从查询到现在的pl/sql的内容都可以在我这里的笔记中找到,希望能帮到大家,视频资源在 资源, 我自己的全套笔记在  笔记 在pl/sql中可以继续使用的sql关键字有:update del ...

  9. Oracle存储过程,游标使用

    Oracle存储过程: 语法: CREATE [OR REPLACE] PROCEDURE procedure_name (arg1 [mode1] datatype1,arg2 [mode2] da ...

随机推荐

  1. Spring AOP capabilities and goals

    Spring AOP 是用纯JAVA 实现的. 不需借助JAVA代码在编译处理阶段来实现. Spring 是在运行期实现的.AOP的实现可以在编译,加载,运行三个阶段来实现:Spring AOP 也不 ...

  2. FB面经Prepare: Merge K sorted Array

    Merge K sorted Array 跟Merge K sorted lists不同在于,从PQ里poll出来以后不知道下一个需要被加入PQ的是哪一个 所以需要写一个wrapper class p ...

  3. Jar包的手动导入

      (1)打开项目的file  找到project structure   (2)进行以下操作

  4. PyTorch in Action: A Step by Step Tutorial

    PyTorch in Action: A Step by Step Tutorial   PyTorch in Action: A Step by Step Tutorial Installation ...

  5. 在java中使用Mysql数据库,如何在MyBatis的xml里面处理时间为Int类型的数据

    主要是将显示在页面上的数据变成日期格式,而不是相应的毫秒数,具体的做法如下: 1.首先需要在相关的xml文件里面修改时间为下面语句,其中reg_time为要修改的日期列名 FROM_UNIXTIME( ...

  6. 叮咚,你的Lauce上线了!

    哈,2014 - 2016 - 2018,虽然每隔两年才有那么一篇随笔,博客园,我还是爱你的~ 嗯,2018,马上又要失业了,我这是自带黑属性啊啊啊哈,工作了4年多的项目要被砍掉了, 倒不是说非要这个 ...

  7. WindowsService调用API

    本文着重于WindowsServic如何调用API以及出现部分问题的解决方案 本文Windows Service 创建摘自JasperXu的博客   链接:http://www.cnblogs.com ...

  8. 51nod1268 和为K的组合(DFS)

    1268 和为K的组合  基准时间限制:1 秒 空间限制:131072 KB 分值: 20 难度:3级算法题  收藏  关注 给出N个正整数组成的数组A,求能否从中选出若干个,使他们的和为K.如果可以 ...

  9. 谷歌浏览器导出excel失败问题解决(网上都没解决)

    java poi导出excel报了网络错误,信息已经写回到chrome浏览器(IE/FF均无此问题).如下所示: 从chrome的network大小部分也可以看出是正确的. 网上很多答案说将file. ...

  10. 认识LDAP协议

    LDAP LDAP是Lightweight Directory Access Protocol的缩写,顾名思义,它是指轻量级目录访问协议(这个主要是相对另一目录访问协议X.500而言的:LDAP略去了 ...