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

PL/SQL脚本语言游标的使用学习笔记

阅读更多
(一)、游标的用法学习
    (a)、游标就是指在某个结果集上的指针,通过这个指针的移动,我们得以遍历整个结果集
    (b)、游标的使用步骤
         (1)声明游标
         (2)打开游标
         (3)处理游标中的数据
         (4)关闭游标

  (c)、最常用的游标属性有以下四个:
     %isopen,boolean类型变量,用来代表游标是否打开。
     %notfound,boolean类型变量,如果最近的fetch语句没有返回一条记录,取true。
     %found,boolean类型变量,如果最近的fetch语句取到了记录,取true。
     %rowcount,number类型变量,用来代表目前fetch到的记录的总行数。

(二)、游标的遍历方式
   (1)、Loop循环遍历游标    利用loop循环和%notfound属性实现游标的遍历
   (2)、While循环遍历游标  利用while循环配合%found属性实现游标的遍历
   (3)、for循环遍历游标   利用for循环遍历游标,不需要打开游标,也不需要关闭,甚至不用声明循环变量,最简单

--用三种循环遍历游标
declare
   --声明游标
  cursor c_emp(v_deptno number) is select * from emp e where e.deptno=v_deptno;
  --声明一个游标的行变量  loop遍历或者while loop遍历时使用
  c_emp_row c_emp%rowtype;
begin
/* --loop  遍历
  --打开游标
  open c_emp(10);
  --使用游标
  loop
       fetch  c_emp  into c_emp_row ;--取数据
       exit when  c_emp%notfound;
       dbms_output.put_line(c_emp_row.ename);
  end loop;
  --关闭游标
  close c_emp;*/
  dbms_output.put_line('----------------------for循环遍历游标------------------------');
  --for循环遍历游标
  for emp_row in c_emp(10) loop
     dbms_output.put_line(emp_row.ename);
  end loop;
  dbms_output.put_line('---------------------while循环遍历游标-------------------------');
  --while循环遍历游标
  open c_emp(10);
  fetch  c_emp  into c_emp_row ;--取数据
  while  c_emp%found loop
      dbms_output.put_line(c_emp_row.ename);
      fetch  c_emp  into c_emp_row ;--取数据
  end loop;
  close c_emp;
end;

(三)、使用游标更新结果集
     select语句后面添加for update来提示oracle锁定记录以便进行更新,
     用where current of 来指明操作是添加在当前游标所指向的记录上。
示例
declare
--
  cursor c is select * from emp2 e for update;
  v_temp c%rowtype;
begin
  for v_temp in c loop
    dbms_output.put_line(v_temp.sal);
    if(v_temp.sal < 2000) then
      update emp2  set sal =7000 where current of c;
     elsif(v_temp.sal = 5000) then
       delete from emp2 where current of c;
     end if;
  end loop;
end;
分享到:
评论

相关推荐

    pl/sql学习笔记

    以下是对PL/SQL的学习笔记的详细解析: 1. **什么是PL/SQL语言** PL/SQL是Oracle数据库为数据库管理员和开发人员设计的一种编程语言。它扩展了SQL的功能,允许编写包含控制结构、变量、过程和函数的程序段,这些...

    plsql中文

    20).doc 和 Oracle007(9-15).doc:这些文档可能包含了PL/SQL的分步骤教程,从第9讲到第20讲,涵盖了PL/SQL的基本概念、语法、变量声明、控制结构(如IF-ELSE,WHILE,FOR循环)以及游标(CURSOR)的使用等内容。...

    PLSQL学习笔记

    **PLSQL学习笔记** PL/SQL(Procedural Language/Structured Query Language)是Oracle数据库提供的一种结合了SQL语言和过程编程的语言,它扩展了SQL的功能,使得开发人员可以在数据库中编写复杂的程序逻辑。本笔记...

    学习oracle笔记-PLSQL

    Sqlplus是一款命令行工具,用于连接Oracle数据库并执行SQL语句或PL/SQL脚本。它适用于快速测试和调试存储过程等功能。 #### PL/SQL Developer PL/SQL Developer是一款集成开发环境,专为PL/SQL开发而设计,提供了...

    oracle经典笔记

    这份笔记涵盖了从Oracle PL/SQL编程到SQL查询语言的广泛主题,旨在帮助读者深入理解Oracle数据库的运作机制和应用技巧。 首先,我们来看看《Oracle PL-SQL入门教程(经典).doc》。这份文档详细介绍了PL/SQL,Oracle...

    韩顺平玩转oracle学习笔记

    ### 韩顺平玩转Oracle学习笔记知识点详解 #### 一、Oracle基本使用——基本命令 ##### 连接命令 - **`conn[ect]`**:此命令用于连接到Oracle数据库。语法如下: - `conn 用户名/密码@网络服务名 [as sysdba/...

    Java/JavaEE 学习笔记

    PL/SQL学习笔记............358 第一章 PL/SQL概述........................358 第二章 PL/SQL程序结构................359 第三章 PL/SQL数据类型................362 第四章 PL/SQL中的控制语句........368 第五章...

    oracle 学习笔记

    SQL*Plus是一种常用的Oracle命令行工具,用于执行SQL和PL/SQL脚本。 - **变量**:`&` 符号用于定义变量。例如,在 `SELECT * FROM dept WHERE depno=&depno;` 中,`&depno` 是一个变量,可以在运行时被用户输入值。...

    学习oracle笔记(word版本)

    8. **游标(Cursor)**:游标是PL/SQL中处理查询结果集的重要工具。声明一个游标,然后通过OPEN, FETCH, 和 CLOSE操作来使用它。示例中的`FOR LOOP`结构简化了游标的使用,它可以自动遍历结果集并处理每一行。 9. *...

    oracle_xuexibiji.rar_oracle

    学习笔记可能会介绍如何启动SQL*Plus、编写SQL脚本、设置环境变量、查看帮助文档、格式化输出以及执行批处理等技巧。此外,SQL*Plus还提供了交互式查询的功能,如运行SQL查询、编辑和保存SQL脚本、处理错误和异常等...

    J2EE学习笔记(J2ee初学者必备手册)

    PL/SQL学习笔记............358 第一章 PL/SQL概述........................358 第二章 PL/SQL程序结构................359 第三章 PL/SQL数据类型................362 第四章 PL/SQL中的控制语句........368 第五章...

    个人日常学习资料整理最终

    标题 "个人日常学习资料整理最终" 暗示...每个子目录可能包含PDF文档、笔记、PPT演示文稿、SQL脚本文件等形式的学习材料。通过系统地学习和实践这些资料,可以对Oracle数据库有一个全面而深入的理解,并提升相关技能。

    达内笔记(达内助教整理的)

    无论是操作系统层面的 Unix,还是数据库相关的 SQL 和 PL/SQL,再到数据交换格式 CSV,以及编程语言 Java 和数据描述语言 XML,再到 Java 与数据库交互的 JDBC,最后是软件设计中的 UML,都是构建现代软件系统不可或...

    玩转oracle学习笔记(四)-数据库操作

    这篇笔记主要聚焦于"玩转Oracle学习笔记(四)",作者通过文档分享了他在数据库管理、查询优化、数据处理等方面的经验。以下是对这些知识点的详细解析: 1. 数据库创建与连接: - Oracle数据库的安装与配置:学习...

    oracle笔记

    ` 在内置编辑器中打开指定路径下的SQL脚本进行编辑。 - **截取输出**: `SPOOL 绝对路径 ... SPOOL OFF;` 将SQL命令的输出重定向到指定的文件中。 - **设置行宽**: `SET LINESIZE 数字;` 调整SQL*Plus窗口中每行...

    sql-oracle-bhcc:BHCC学生-CIT 236-SQL编程-SPRING2020

    【压缩包子文件的文件名称列表】"sql-oracle-bhcc-master" 暗示可能包含有源代码、笔记、练习题、数据库脚本或教学材料,这些都与学习和理解SQL和Oracle数据库相关。 在SQL编程中,你需要了解的基础概念包括: 1. ...

    鸿程oracle培训.rar

    3. 实例代码:SQL脚本和PL/SQL程序,用于实践操作和理解。 4. 解决方案:针对常见问题的解答和解决方案。 5. 测试题库:模拟考试或练习题,帮助检验学习成果。 6. 讨论论坛链接或笔记:促进学员间的交流,分享学习...

    oracle培训18天老师笔记

    3. **PL/SQL编程**:Oracle的编程语言,用于编写过程化逻辑,包括变量声明、条件判断、循环结构、异常处理、游标、存储过程和函数。 4. **表和索引**:深入理解表的结构,如字段、约束(主键、外键、唯一性约束等)...

    收藏的一些资料

    2. "Oracle游标使用.doc":游标是数据库操作中处理单条记录的重要工具,文档可能会详细解释如何声明、打开、读取和关闭游标,以及在PL/SQL中的应用。 3. "oracle分析函数.doc":分析函数是Oracle数据库中用于处理...

Global site tag (gtag.js) - Google Analytics