1.游标
游标使用分为四步骤。

a.声明游标
cursor 游标名(参数1 数据类型[,参数2 数据类型])
b.打开游标
open 游标名[(实际参数1[,实际参数2.........])];
c.提取数据
fetch 游标名 into 变量名1[,变量名2...];

fetch 游标名 into 记录变量

其中定义记录变量方法如下:
变量名 表名|游标名%ROWTYPE;
d.关闭游标
close 游标名;
例1:
declare
vname VARCHAR2(10);
vjob VARCHAR2(10);
--声明游标
CURSOR emp_cursor IS
       SELECT ENAME,JOB
       FROM EMP
       WHERE empno=222;

BEGIN
OPEN emp_cursor;--打开游标
FETCH emp_cursor INTO vname,vjob;--从游标中提取数据
dbms_output.put_line(vname||','||vjob);
CLOSE emp_cursor;--关闭游标
           
end;
例2:用记录变量
DECLARE
--声明游标
  CURSOR emp_cursor IS
         SELECT ename,job,sal FROM emp WHERE empno=44;
         --定义记录变量
  emp_record emp_cursor%ROWTYPE;
 
BEGIN
--打开游标
  OPEN emp_cursor;
  --提取数据存入记录变量
  FETCH emp_cursor INTO emp_record;
  dbms_output.put_line(emp_record.ename||','||emp_record
  .job||','||emp_record.sal);
  --关闭游标
  CLOSE emp_cursor;
END;
注意:获得记录变量的内容
记录变量名.字段名

自定义PL/SQL记录
方法一:
TYPE type_name IS RECORD(field_declaration[,field_declaration].....);
identifier type_name;
如上所示,如上所示,type_name用于指定记录类型的名称,field_declaration用于自定义记录成员

,identifier用于指定记录变量的名称,当定义记录成员时,记录成员之间需要用逗号隔开。

下个例子自定义了三个记录成员,以及记录变量emp_record
DECLARE
 TYPE emp_record_name(
 v_NAME emp.ename%TYPE,
 v_salary emp.sal%TYPE,
 v_dno emp.deptno%TYPE
 );
 emp_record emp_record_name;
 ..........

方法二:
--使用%ROWTYPE属性定义记录变量
%ROWTYPE属性用于基于表或视图定义记录变量。用此方法,记录成员的名称和类型与表或视图列的名

称和类型完全相同。

例子
dept_record detp%ROWTYPE;

3.游标循环
方法一:
在游标for循环中引用已定义游标
DECLARE
  CURSOR emp_cursor IS
         SELECT emono,ename
                FROM emp;
BEGIN
  FOR emp_record IN emp_cursor LOOP
      dbms_output.put_line(emp_record.emono||','||emp_record.ename)
 
方法二:在游标循环中直接引用子查询

DECLARE
BEGIN
  FOR re IN(SELECT empno,ename FROM emp)LOOP
      dbms_output.put_line(re.empno||','||re.ename);
   END LOOP;
END;

游标cursor,游标循环和记录变量的定义相关推荐

  1. django mysql 游标,MySQL Cursor 存储过程之游标与相关循环

    简单介绍游标 在检索出来的行中,前进或者后退一行或多行,就需要用到所谓的"游标". 游标不是某个SELECT语句,但是它是被该语句检索出来的结果集. 几个特点: ·MySQL游标只 ...

  2. Oracle游标和游标变量

    一.游标: 游标的概念: 游标的作用是临时存储从数据库中提取的数据块,由系统或者用户以变量的形式定义,是sql的内存工作区: // 分为两种类型:显式游标和隐式游标 隐式游标 系统定义和管理的,像DM ...

  3. PLSQL 循环游标 cursor loop fetch into

    PLSQL 循环游标 cursor 的一点心得体会 set serveroutput on---------------打印输出信息,默认是FALSE declare ---------------- ...

  4. oracle中的cursor属性有哪些,Oracle学习11:游标(cursor)--显式游标隐式游标、游标四个属性、循环遍历...

    1.概述 上文PLSQL学习中提到的知识,可以发现,基本都可以通过Java等语言实现,而为了实现程序的可移植性,实际开发工作中我们也是如此做的. 那么PLSQL的重点是什么呢?接下来我们来介绍游标cu ...

  5. oracle 记录给游标,Oracle游标 CURSOR实例详解

    一.游标概述: 游标(cursor)是数据库系统在内存中开设的一个数据缓冲区,存放SQL语句的执行结果. 每个游标都有一个名字,用户可以用SQL语句逐一从游标中获取记录,并赋给变量做进一步处理. 作用 ...

  6. mysql cursor使用变量_mysql cursor游标的使用,实例

    mysql被oracle收购后,从mysql-5.5开始,将InnoDB作为默认存储引擎,是一次比较重大的突破.InnoDB作为支持事务的存储引擎,拥有相关的RDBMS特性:包括ACID事务支持,数据 ...

  7. oracle的游标cursor

    6,如何使用显示游标,?如何遍历循环游标? ①使用显示游标 ⑴声明游标:划分存储区域,注意此时并没有执行Select 语句. CURSOR 游标名( 参数 列表) [返回值类型] IS Select ...

  8. SQL Server 数据库的维护(四)__游标(cursor)

    --维护数据库-- --游标(cursor)-- --概述: 注:使用select语句查询结果的结果集是一个整体,如果想每次处理一行或一部分行数据,游标可以提供这种处理机制.可以将游标理解为指针.指针 ...

  9. Oracle中cursor(游标)总结

    1.       游标: 容器,存储SQL语句影响行数. 2.       游标类型: 隐式游标,显示游标,REF游标.其中,隐式游标和显示游标属于静态游标(运行前将游标与SQL语句关联),REF游标 ...

最新文章

  1. 常用python工具类代码总结
  2. [泰然翻译] cocos2d programming guide翻译(10)
  3. (笔记)Linux Root下的.gvfs出现异常解决办法
  4. ASP.NET MVC 5 使用autofac实现DI
  5. java将jfif格式转换成ipg_win10系统将jfif格式转jpg的操作方法
  6. 基金委托管理系统试题
  7. I/O Permission Bit Map in Task State Segment(TSS)
  8. xshell5 的账号密码搬家
  9. js vue echarts 前端绘制 cie1931 马蹄图 色度图
  10. 如何使用手机裁剪图片大小?
  11. Nordic nRF52840实战学习--ble_app_blinky例程
  12. 《莎士比亚》文本生成
  13. 压力测试-Jmeter脚本录制方案
  14. 《数据结构与抽象:Java语言描述(原书第4版)》一P.2.2 前置条件和后置条件...
  15. Prometheus 配置钉钉告警
  16. 微信图文信息自动跳转
  17. C语言 深度剖析数据在内存中的存储(2)
  18. Redis中间件总结
  19. 计算机仿真实验教学大纲,计算机仿真及应用教学大纲.doc
  20. 阿米巴经营(学习总结)

热门文章

  1. 小学生python游戏编程arcade----敌人自动面向角色并开火
  2. Android ActivityGroup简介
  3. Maven Dependencies missing jar 解决方法
  4. 3010基于二叉链表的二叉树高度的计算
  5. 大直径钢管直线度测量仪的使用
  6. Linux AT24C256芯片 数据手册解读
  7. python处理文档对象【三方库—lxml】
  8. IDEA初学者保存就格式化代码插件save actions
  9. linux下安装工具——yum
  10. Echarts可视化MySQL数据