游标cursor,游标循环和记录变量的定义
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,游标循环和记录变量的定义相关推荐
- django mysql 游标,MySQL Cursor 存储过程之游标与相关循环
简单介绍游标 在检索出来的行中,前进或者后退一行或多行,就需要用到所谓的"游标". 游标不是某个SELECT语句,但是它是被该语句检索出来的结果集. 几个特点: ·MySQL游标只 ...
- Oracle游标和游标变量
一.游标: 游标的概念: 游标的作用是临时存储从数据库中提取的数据块,由系统或者用户以变量的形式定义,是sql的内存工作区: // 分为两种类型:显式游标和隐式游标 隐式游标 系统定义和管理的,像DM ...
- PLSQL 循环游标 cursor loop fetch into
PLSQL 循环游标 cursor 的一点心得体会 set serveroutput on---------------打印输出信息,默认是FALSE declare ---------------- ...
- oracle中的cursor属性有哪些,Oracle学习11:游标(cursor)--显式游标隐式游标、游标四个属性、循环遍历...
1.概述 上文PLSQL学习中提到的知识,可以发现,基本都可以通过Java等语言实现,而为了实现程序的可移植性,实际开发工作中我们也是如此做的. 那么PLSQL的重点是什么呢?接下来我们来介绍游标cu ...
- oracle 记录给游标,Oracle游标 CURSOR实例详解
一.游标概述: 游标(cursor)是数据库系统在内存中开设的一个数据缓冲区,存放SQL语句的执行结果. 每个游标都有一个名字,用户可以用SQL语句逐一从游标中获取记录,并赋给变量做进一步处理. 作用 ...
- mysql cursor使用变量_mysql cursor游标的使用,实例
mysql被oracle收购后,从mysql-5.5开始,将InnoDB作为默认存储引擎,是一次比较重大的突破.InnoDB作为支持事务的存储引擎,拥有相关的RDBMS特性:包括ACID事务支持,数据 ...
- oracle的游标cursor
6,如何使用显示游标,?如何遍历循环游标? ①使用显示游标 ⑴声明游标:划分存储区域,注意此时并没有执行Select 语句. CURSOR 游标名( 参数 列表) [返回值类型] IS Select ...
- SQL Server 数据库的维护(四)__游标(cursor)
--维护数据库-- --游标(cursor)-- --概述: 注:使用select语句查询结果的结果集是一个整体,如果想每次处理一行或一部分行数据,游标可以提供这种处理机制.可以将游标理解为指针.指针 ...
- Oracle中cursor(游标)总结
1. 游标: 容器,存储SQL语句影响行数. 2. 游标类型: 隐式游标,显示游标,REF游标.其中,隐式游标和显示游标属于静态游标(运行前将游标与SQL语句关联),REF游标 ...
最新文章
- 常用python工具类代码总结
- [泰然翻译] cocos2d programming guide翻译(10)
- (笔记)Linux Root下的.gvfs出现异常解决办法
- ASP.NET MVC 5 使用autofac实现DI
- java将jfif格式转换成ipg_win10系统将jfif格式转jpg的操作方法
- 基金委托管理系统试题
- I/O Permission Bit Map in Task State Segment(TSS)
- xshell5 的账号密码搬家
- js vue echarts 前端绘制 cie1931 马蹄图 色度图
- 如何使用手机裁剪图片大小?
- Nordic nRF52840实战学习--ble_app_blinky例程
- 《莎士比亚》文本生成
- 压力测试-Jmeter脚本录制方案
- 《数据结构与抽象:Java语言描述(原书第4版)》一P.2.2 前置条件和后置条件...
- Prometheus 配置钉钉告警
- 微信图文信息自动跳转
- C语言 深度剖析数据在内存中的存储(2)
- Redis中间件总结
- 计算机仿真实验教学大纲,计算机仿真及应用教学大纲.doc
- 阿米巴经营(学习总结)