`

Oracle 中游标使用实例

阅读更多

一、游标简介:
    游标是PL&SQL中的一种控制结构。可以分为显式游标和隐式游标。pl&sql会为每一条select语句创建隐式游标。但是当我们需要处理多条数据时,我们就需要创建显式游标。注意:游标不是模式对象。

二、游标的几种常见属性:
1、%FOUND
--判断游标中是否还有数据,若有,返回true,否则,返回false。
2、%NOTFOUND
--与%FOUND 相反
3、%ISOPEN
--判断游标是否为打开状态
4、%ROWCOUNT
--记录已从游标中取出的记录数

三、游标应用实例:

1、%FOUND属性的使用

 

 

DECLARE
CURSOR mycur IS
SELECT * FROM student;
myrecord student%ROWTYPE;
BEGIN
OPEN mycur;
FETCH mycur INTO myrecord;
WHILE mycur%FOUND LOOP
DBMS_OUTPUT.PUT_LINE(myrecord.stuno||','||myrecord.stuname);
FETCH mycur INTO myrecord;
END LOOP;
CLOSE mycur;
END;
 

 


2、%NOTFOUND属性的使用:

DECLARE
CURSOR cur_para(id varchar2) IS
SELECT stuname FROM student WHERE stuno=111;
t_name student.stuname%TYPE;
BEGIN
OPEN cur_para(111);
LOOP
FETCH cur_para INTO t_name;
EXIT WHEN cur_para%NOTFOUND;
DBMS_OUTPUT.PUT_LINE(t_name);
END LOOP;
CLOSE cur_para;
END;

 

3、for循环中游标的特殊使用:

SQL> DECLARE
  2  CURSOR cur_para(id varchar2) IS
  3  SELECT stuname FROM student WHERE stuno=id;
  4  BEGIN
  5  DBMS_OUTPUT.PUT_LINE('*****');
  6  FOR cur IN cur_para('111') LOOP
  7  DBMS_OUTPUT.PUT_LINE(cur.stuname);
  8  END LOOP;
  9  END;

 

4、%ISOPEN属性的使用:

SQL> DECLARE
  2  t_name student.stuname%TYPE;
  3  CURSOR cur(id varchar2) IS
  4  SELECT stuname FROM student WHERE stuno=id;
  5  BEGIN
  6  IF cur%ISOPEN THEN
  7  DBMS_OUTPUT.PUT_LINE('THE cur has been opened');
  8  ELSE
  9  OPEN cur('111');
10  END IF;
11  FETCH cur INTO t_name;
12  CLOSE cur;
13  DBMS_OUTPUT.PUT_LINE(t_name);
14  END;

 

5、%ROWCOUNT属性的使用:

SQL> DECLARE
  2  t_name VARCHAR2(10);
  3  CURSOR mycur IS
  4  SELECT stuname FROM student;
  5  BEGIN
  6  OPEN mycur;
  7  LOOP
  8  EXIT WHEN mycur%NOTFOUND OR mycur%NOTFOUND IS NULL;
  9  DBMS_OUTPUT.PUT_LINE('*****ROWCOUNT****'||mycur%ROWCOUNT);
10  END LOOP;
11  CLOSE mycur;
12  END;
 

 

分享到:
评论

相关推荐

    Oracle中游标Cursor基本用法详解

    以上就是Oracle中游标的基本用法。通过游标,开发者能够灵活地遍历查询结果,进行复杂的逻辑处理,从而实现更精细的数据操作。在实际开发中,熟练掌握游标的使用是提高代码效率和可维护性的重要手段。

    ORACLE中游标的使用.pdf

    这个例子声明了一个名为`c_emp`的游标,它对应于查询所有薪水大于2000的员工信息。 在操作数据之前,需要使用`OPEN`命令打开游标,执行对应的查询并存储结果集。打开游标的基本语法是: ```sql OPEN cursor_name; `...

    oracle中游标的应用详解

    ### Oracle中游标的应用详解 #### 一、游标概念及分类 游标在Oracle数据库中扮演着重要的角色,尤其在处理多行数据时显得尤为关键。游标本质上是SQL的一个内存工作区,用于存储从数据库中提取的数据块。为了提高...

    oracle cursor 实例

    oracle中游标的使用方法,便于初学者参考,精通人员欢迎指正在。

    在Oracle PL/SQL中游标声明中表名动态变化的方法

    Oracle PL/SQL 中游标声明中表名动态变化的方法 在 Oracle PL/SQL 中, quando 声明中表名动态变化是指在游标声明中使用动态表名,而不是硬编码的表名。这是一种灵活的方法,可以根据不同情况选择不同的表名。 在 ...

    Oracle游标的使用

    本文将详细介绍Oracle中游标的使用方法,包括游标的定义、类型以及如何在实际编程中应用这些概念。 #### 二、游标的定义与作用 游标是SQL的一个内存工作区,它可以由系统或用户定义。它主要用于临时存储从数据库中...

    老二牛车在Oracle数据库上构建JAVA应用程序二理论课.pdf

    - 通过实例演示了如何使用存储过程或函数来执行分页查询,强调了Oracle中游标和函数在数据分页处理中的重要性。 整体来看,这些知识点覆盖了Oracle数据库结构定义、数据操作优化、以及Java环境中的数据库编程,非常...

    oracle试卷及答案

    - **实例**是指运行在计算机上的Oracle软件的一部分,它包含了运行数据库所需的内存结构和后台进程。 3. **Oracle数据库的三种主要文件类型:** - Oracle数据库具有三种主要类型的文件: - **数据文件**:用于...

    oracle游标使用大全3

    本文详细介绍了Oracle中游标的使用方法,包括基本语法、简化使用方式以及如何利用游标进行数据更新和删除等高级操作。通过这些知识点的学习,读者可以更好地掌握如何在实际开发中运用游标来提高数据处理效率和灵活性...

    oracle真题二

    PL/SQL中游标操作包括声明游标、打开游标、提取游标和关闭游标。 数据库中存储的基本对象是数据,数据库系统的核心是DBMS(Database Management System)。关系操作的特点是集合操作,关系代数中五种基本运算是并、...

    oracle CURSOR例子

    本文将通过几个示例详细介绍Oracle中游标的使用方法。 #### 明确声明的游标 (Explicit Cursor) 在Oracle PL/SQL块中,可以通过`CURSOR`关键字明确声明一个游标。声明游标时,需要指定查询语句,该查询语句定义了...

    oracle考试试题及答案.pdf

    5. 游标使用示例:通过声明、打开、提取和关闭操作处理结果集。 八、SQL编程题示例: 1. 查询家有电话的职工信息:`SELECT * FROM emp WHERE tel IS NOT NULL;` 2. 查询工资在500至800元的雇员信息:`SELECT * FROM...

    高级安装oracle企业版

    Oracle企业版的高级安装涉及多个步骤,包括安装过程、数据库实例创建以及用户的管理。下面将详细阐述这些关键知识点。 首先,我们关注高级安装的选择。在安装Oracle时,选择“高级安装”模式允许用户进行更精细化的...

    Oracle卸载、备份与恢复

    使用Database Configuration Assistant (dbca) 是删除数据库实例的首选方法。在开始菜单中输入dbca,以管理员身份运行,选择删除数据库,按照提示操作,确保选择所有需要删除的数据库实例。 2. **停止Oracle所有...

    navicat中创建存储过程、触发器和使用游标的简单实例(图文)

    这个例子展示了游标如何帮助我们按行处理数据,实现批量修改。 这些概念在数据库编程中至关重要,存储过程可以封装复杂的业务逻辑,减少网络通信,提高性能;触发器则可以确保数据的一致性和完整性,实现业务规则的...

    精通SQL--结构化查询语言详解

    17.4 oracle中游标的使用 365 17.4.1 显式游标与隐式游标 365 17.4.2 游标的属性 366 17.4.3 %type、%rowtype定义记录变量 367 17.4.4 参数化游标 368 17.4.5 游标中的循环 369 17.4.6 游标变量 371 17.5 小...

Global site tag (gtag.js) - Google Analytics