oracle 存储过程之游标(loop)使用

原创 2016年08月29日 11:45:09

最近再接触Oracle的存储过程,目前来说,项目中主要是两种存储方式,一种是loop游标的方式,一种是merge into 函数
今天主要是说明一下游标的主要的用法,感觉这个看懂了,游标这一类应该都是相通的,下面就是主要的例子

alter table T_JSQY_EDUEXPERITION add verify_date TIMESTAMP(6);增加表字段
ALTER TABLE 表名 MODIFY cardtype NULL;
这个是用到修改表机构的,大家可以随便了解一下。
declare  --声明两个变量
  v_id VARCHAR2(50);
  v_int number;
  cursor yb is
    select a.id  from T_D5_PUNISHMENT a where a.removed = '0';
begin
  v_int := 1;--变量赋值
  open yb;   --打开游标
  loop       --开始标记
    fetch yb into v_id;--游标赋值  当然这边可以赋值多个值
    (譬如:fetch yb into v_id , v_name;)
    exit when yb%notfound;--游标一条一条地遍历记录,当找不到记录时退出
    begin
      update T_D5_PUNISHMENT a set a.cardtype= case a.cardtype when '02' then '01' when '03' then '02' when '04' then '05' else '' end  --实际操作
        where a.id=v_id;
    exception    --异常抛出
      when others then
        dbms_output.put_line(v_id);
    end;
    v_int := v_int+1;
    if(v_int >=500) then
      commit;   --500条提交一次 分单系统压力,提高上传的效率
      v_int :=0;
    end if;
  end loop;  --结束标记
  commit;
  close yb;  --关闭游标
end;         --结束
/            --这个斜杠用处很大,比如好多条存储过程的话,可以写在后面一起执行。

上面的是个人的一些总结,见解,有什么疑问的、不对的地方,大家可以和我交流,还有一种merge into函数的存储过程整理,下次更新。
http://blog.csdn.net/z1729734271/article/details/52386664

版权声明:本文为博主原创,无版权,未经博主允许可以随意转载,无需注明出处,随意修改或保持可作为原创!

相关文章推荐

oracle编程 if, for , while, loop, 存储过程,触发器,游标演示

dept,employee和《oracle常用语句,带详细的说明》中的表一致!   /*作用:sql编程   说明:declare 申明变量,constant 常量,语言块要放在begin end...

JAVA调用ORACLE存储过程游标使用

  • 2010年03月05日 16:57
  • 19.21MB
  • 下载

hibernate里使用jdbc方式调用oracle带游标返回参数的简单分页存储过程

最近要学一个hibernate调用游标,找来找去也没找到如何调用,最后看了许多文章,用jdbc方式来调用也是可以的,但是效率上就不行了,因为每次都要连接数据库,从而放弃了hibernate的对象持久化...

oracle存储过程中使用Ref Cursor强类型游标返回结果集

定义类型 定义游标 chuangj

oracle使用游标让存储过程返回记录集

因为项目需要,需要写一个存储过程在oracle上,返回的是记录集,普通的存储过程貌似不可以,按照网上说的用指针写了一个出来,如下: --声明包头 CREATE OR REPLACE PACKAGE P...

oracle存储过程与游标使用实例

create or replace procedure CLOSE_DIRECT_AUDIT_POINT(pointname     in varchar2,                    ...

Oracle存储过程,游标使用

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

oracle 存储过程,游标、异常处理,集合使用入门详解

我们在进行pl/sql编程时打交道最多的就是存储过程了。存储过程的结构是非常的简单的,我们在这里除了学习存储过程的基本结构外,还会学习编写存储过程时相关的一些实用的知识。如:游标的处理,异常的处理,集...

Oracle存储过程中使用游标来批量解析CLOB字段里面的xml字符串:

摘要:之前在项目中使用到了Oracle数据库中通过触发器去调用存储过程执行数据解析并Update到对应的数据表中,但是,经过一段时间的测试使用发现,如果job那天停掉了,然后你再重新新建job的话,这...
内容举报
返回顶部
收藏助手
不良信息举报
您举报文章:oracle 存储过程之游标(loop)使用
举报原因:
原因补充:

(最多只允许输入30个字)