- 1、本文档共39页,可阅读全部内容。
- 2、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
- 3、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载。
- 4、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
查看更多
4.编写游标
第四章编写游标
1
目标:
本章旨在向学员介绍游标的应用,通过
本课的学习,学员应该掌握如下知识:
学时:4学时
1) 区分隐式游标和显式游标。
教学方法:讲授ppt
2)掌握如何创建游标
2
游标
DECLARE
v_empno emp.empno%type;
v_ename emp.ename%type;
BEGIN
SELECT empno,ename into v_ename,v_empno
FROM emp;
dbms_output.put_line(v_empno|| ||v_ename);
END;
3
游标的概念
• 游标的定义
–游标(cursor)是Oracle系统在内存中开辟的一个工作
区,在其中存放SELECT语句返回的查询结果。
• 游标的分类
隐式游标:PL/SQL隐式建立并自动管理这一游标
显式游标:由程序员显式说明及控制,用于从表中取出
多行数据,并将多行数据一行一行单独处理
4
隐式游标
• 由Oracle在内部声明
• 由Oracle 自行管理游标
• 可以使用游标属性从最近执行的SQL语句中获取信息
• 用于处理DML语句以及返回单行的查询
5
隐式游标属性
• 利用SQL 游标的属性可以验证SQL语句的输出结果
SQL%ROWCOUNT 返回最近一条SQL语句所影响到的记录的数量(整数型)
SQL%FOUND 布尔型属性,当游标或游标变量被打开但是在执行FETCH语
句之前时,%FOUND是NULL 。其后,如果最后的FETCH语句
返回一行或多行记录,则%FOUND为TRUE,如果FETCH语句
没有返回记录,则%FOUND为FALSE 。
SQL%NOTFOUND 布尔型属性,当游标或游标变量被打开但是在执行FETCH语
句之前时,%NOTFOUND是NULL 。其后,如果最后的
FETCH语句返回一行记录,则%NOTFOUND为FALSE,如果
FETCH语句没有返回记录,则%NOTFOUND为TRUE 。
SQL%ISOPEN 当游标或游标变量被打开时,为TRUE;否则为FALSE
6
隐式游标属性示例
• 从表EMP中删除指定部门的行,并返回所删除行的数量
VARIABLE rows_deleted VARCHAR2(30)
DECLARE
v_deptno NUMBER := 20;
BEGIN
DELETE FROM emp
WHERE deptno = v_deptno;
:rows_deleted := (SQL%R
文档评论(0)