`
123003473
  • 浏览: 1060403 次
  • 性别: Icon_minigender_1
  • 来自: 南京
社区版块
存档分类
最新评论

ORACLE 游标遍历

 
阅读更多
-- Created on 2011-10-9 by HUCHANGKUN
declare
  -- Local variables here
  CURSOR C_EVENT is  select t.eventname from T_Event t;
  temp T_Event.EVENTNAME%TYPE;
begin
  -- for 遍历游标
  for temp in C_EVENT
  Loop
      dbms_output.put_line('事件名称:'|| temp.EVENTNAME);
  End Loop;
 
  dbms_output.put_line('------------------分割线--------------');
 
  --while 遍历游标
  OPEN C_EVENT;--打开游标
  FETCH C_EVENT into temp; --取值
  while C_EVENT%found 
  Loop
    dbms_output.put_line('事件名称'||temp); --打印
    FETCH C_EVENT into temp; --取值
  End Loop;
  CLOSE C_EVENT;
 
  dbms_output.put_line('------------------分割线--------------');
  --loog 遍历游标
  OPEN C_EVENT;--打开游标
  Loop
      FETCH C_EVENT into temp; --取值
      Exit when C_EVENT%NOTFOUND;
      dbms_output.put_line('事件名称'||temp); --打印
  End Loop;
  CLOSE C_EVENT;
end;

注意:必须先fetch,再用游标的notfound来判断

---带入参的游标,注意只指定入参类型,不指定入参长度,且只有入参,无出参

-- Created on 2011-10-9 by HUCHANGKUN
declare
  -- Local variables here
  CURSOR C_EVENT(ROW_NUM NUMBER DEFAULT 3) is  (select t.eventname from T_Event t where rownum <ROW_NUM);
  temp T_Event.EVENTNAME%TYPE;
begin
  -- for 遍历游标
  for temp in C_EVENT(ROW_NUM=>2)
  Loop
      dbms_output.put_line('事件名称:'|| temp.EVENTNAME);
      dbms_output.put_line('index: '||C_EVENT%ROWCOUNT);
  End Loop;
 
  dbms_output.put_line('------------------分割线--------------');
 
  --while 遍历游标
  OPEN C_EVENT(ROW_NUM=>3);--打开游标
  FETCH C_EVENT into temp; --取值
  while C_EVENT%found 
  Loop
    dbms_output.put_line('事件名称:'||temp); --打印
    dbms_output.put_line('index: '||C_EVENT%ROWCOUNT);
    FETCH C_EVENT into temp; --取值
  End Loop;
  CLOSE C_EVENT;
 
  dbms_output.put_line('------------------分割线--------------');
  --loog 遍历游标
  OPEN C_EVENT(ROW_NUM=>4);--打开游标
  Loop
      FETCH C_EVENT into temp; --取值
      Exit when C_EVENT%NOTFOUND;
      dbms_output.put_line('事件名称:'||temp); --打印
      dbms_output.put_line('index: '||C_EVENT%ROWCOUNT);
  End Loop;
  CLOSE C_EVENT;
end;


注意捕获异常:
dbms_output.put_line(sqlcode||' '||sqlerrm);
sqlcode是错误代码,sqlerrm是错误信息,不是sql语句本身,我要的是发生错误的sql语句


exception
  when others then
  dbms_output.put_line(sqlcode||' '||sqlerrm);
分享到:
评论

相关推荐

    sql 游标遍历 实例

    5. **移动游标**:游标可以向前或向后移动,通常只支持向前遍历(在某些系统中,如Oracle支持动态游标,可任意方向移动)。默认情况下,游标每次`FETCH`都会移动到下一行。 6. **关闭游标**:完成遍历后,需要关闭...

    Oracle游标使用案例大全

    Oracle游标是数据库编程中非常重要的一个概念,主要用于处理SQL查询的结果集。游标允许我们按行处理数据,逐条读取结果集,而不仅仅是一次性获取所有数据。在Oracle数据库中,游标对于复杂的事务处理、动态SQL以及...

    Oracle游标使用方法及语法大全

    Oracle 游标使用方法及语法大全 Oracle 游标是 PL/SQL 程序中的一种重要组件,用于处理查询结果集。游标可以分为隐式游标和显式游标两种,隐式游标由 PL/SQL 管理,隐式游标打开时查询开始,查询结束时隐式游标自动...

    oracle游标使用及实例

    ### Oracle游标使用及实例详解 #### 一、Oracle游标概述 在Oracle数据库中,游标(Cursor)是一种用于处理SQL查询结果集的方式。它允许用户逐行地读取和处理查询结果,这对于需要对每一行数据进行特定操作的情况非常...

    oracle游标学习资料

    Oracle游标是数据库编程中非常重要的一个概念,它允许开发者逐行处理查询结果集,而不仅仅是一次性处理所有数据。在Oracle中,游标分为隐式游标和显式游标。 **一、游标简介** 游标的核心功能是提供一种方式来遍历...

    Oracle游标使用详解

    根据提供的标题、描述以及部分代码内容,我们可以详细探讨Oracle游标的使用方法,特别是明确游标(Explicit Cursor)和隐式游标(Implicit Cursor)的区别及其具体应用方式。 ### Oracle游标简介 在Oracle数据库中...

    Oracle 游标使用大全.pdf

    通过本篇Oracle游标的使用大全,我们可以了解到Oracle数据库游标的类型、属性以及如何在PL/SQL中实现对数据集的逐行处理。这不仅有助于提升程序员的编程技能,也能使他们更深入地理解PL/SQL与Oracle数据库之间的交互...

    oracle游标使用大全

    总之,Oracle游标提供了处理查询结果的强大工具,使开发者能够灵活地在PL/SQL中操作数据。无论是隐式还是显式游标,都极大地增强了对数据库的交互能力,使得程序能根据查询结果进行适当的操作。理解并熟练运用游标是...

    oracle游标使用大全1.txt

    ### Oracle游标使用详解 #### 一、Oracle游标简介 在Oracle数据库中,游标是一种用于处理查询结果集的强大工具。它允许用户通过逐行访问数据来执行复杂的操作,如更新、删除或插入记录等。游标可以分为显式游标和...

    Oracle 游标使用大全

    Oracle游标是数据库管理系统中的一种数据处理机制,它允许用户按需逐行处理查询结果,而不是一次性加载所有数据。在Java编程中,我们通常通过JDBC(Java Database Connectivity)来与Oracle数据库交互,其中游标扮演...

    Oracle游标实例.txt

    标题“Oracle游标实例”直接点明了文章的主题,即通过具体的示例来讲解Oracle中的游标使用方法。描述重复了标题内容,这表明文件的主要目的是提供关于Oracle游标的实例代码,供学习和参考。 ### 标签 标签“Oracle...

    快速练习ORACLE游标习题及答案

    根据提供的文件信息,我们可以归纳出以下Oracle游标的使用方法及相关知识点: ### 一、游标的基本概念 在Oracle数据库中,游标是一种重要的机制,它允许用户从查询结果集中逐行检索数据。游标可以分为两种类型:**...

    非常详细的Oracle游标整理

    Oracle游标是数据库编程中非常重要的一个概念,主要用于处理SQL查询的结果集。游标允许我们按需逐行处理数据,而不是一次性加载所有结果。这里详细介绍了Oracle中的三种游标类型:隐式游标、显式游标和REF游标。 1....

    oracle数据库游标使用例子

    以下是关于Oracle游标使用的一些关键知识点: 1. **游标的基本概念**: 游标(Cursor)是一种机制,它允许我们遍历和操作由SQL查询返回的结果集。通过游标,我们可以控制数据的读取顺序,一次只处理一行,或者在...

    ORACLE 游标 异常 存储过程

    在本篇讨论中,我们将深入理解Oracle游标、异常处理以及如何在存储过程中使用它们。 1. **Oracle游标**: - **定义**:Oracle游标是数据库系统提供的一种机制,用于在结果集中定位并处理单条记录。它实际上是一个...

    oracle 游标

    Oracle 游标是一种数据库编程工具,它允许程序员逐行处理查询结果集,而不仅仅是一次性获取所有数据。在Oracle中,游标尤其适用于处理大量数据,或者需要根据当前数据行进行决策的情况。游标通常与存储过程结合使用...

    ORACLE游标学习

    【Oracle游标学习】 在Oracle数据库中,游标(Cursor)是一种重要的编程工具,它允许开发者按需处理查询结果集的每一行数据。游标在PL/SQL编程中扮演着关键角色,尤其在处理大量数据时,能提供更加灵活和高效的数据...

    oracle 隐式游标,显示游标,游标循环

    ### Oracle中的游标详解 #### 一、引言 在Oracle数据库中,游标是一种非常重要的机制,它允许用户在程序中对查询结果进行逐行处理。游标分为两种主要类型:**隐式游标**和**显示游标**。此外,还可以利用游标进行...

    Oracle游标和异常处理的应用.doc

    实验要求为每一笔订单绘制订单统计表,这通常涉及使用游标遍历订单数据,提取相关字段,如订单编号、产品名称、数量、单价等,然后在用户界面展示。 二、异常处理 1. 自定义异常: 在Oracle中,可以通过RAISE_...

    ORACLE 游标学习笔记

    Oracle 游标是数据库编程中的重要概念,尤其在PL/SQL中,它们...以上就是关于Oracle游标的基本知识,包括隐式游标和显式游标的使用、属性以及在处理数据时的注意事项。理解并熟练运用游标是开发高效PL/SQL程序的关键。

Global site tag (gtag.js) - Google Analytics