- 1、本文档共114页,可阅读全部内容。
- 2、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
- 3、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载。
- 4、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
- 5、该文档为VIP文档,如果想要下载,成为VIP会员后,下载免费。
- 6、成为VIP后,下载本文档将扣除1次下载权益。下载后,不支持退款、换文档。如有疑问请联系我们。
- 7、成为VIP后,您将拥有八大权益,权益包括:VIP文档下载权益、阅读免打扰、文档格式转换、高级专利检索、专属身份标志、高级客服、多端互通、版权登记。
- 8、VIP文档为合作方或网友上传,每下载1次, 网站将根据用户上传文档的质量评分、类型等,对文档贡献者给予高额补贴、流量扶持。如果你也想贡献VIP文档。上传文档
Oracle12c数据库基础教程(第3版)
授课教师:
职务:
第10章游标,存储过程与触发器
学前提示
本章将介绍Oracle数据库
程序设计中经常会用到地3
个概念,即游标,存储过程
与触发器。
知识要点
10.1游
10.2存储过程
10.3触
标
发
器
10.1游
标
10.3.1触发器地基本概念
10.3.2创建触发器
10.1.3游标属性
10.1.4游标FOR循环
10.1.5引用游标
10.1.6管理游标结果集
10.1.1游标地基本概念
Oracle游标可以分为两种类型
,显式游标与隐式游标
使用显式游标需求以下4个步骤
(1)声明游标。定义游标名和游标中使用地SELECT语句
。
(2)打开游标。执行声明游标时定义地SELECT语句,把查
询结果装入内存,游标位于结果集地第1条记录位置。
(3)读取数据。从结果集地游标当前位置处读取数据,执
行完成后游标后移一行。
(4)关闭游标。释放结果集与游标占用地内存空间。
【例10.1】
使用SELECT语句声明隐式游标,从C##HRSYS.Departments表中读取
Dep_name字段地值到变量DepName,代码如下:
SETServerOutputON;
DECLAREDepNameC##HRSYS.Departments.Dep_Name%Type;
BEGIN
SELECTDep_nameINTODepName
FROMC##HRSYS.Departments
WHEREDep_ID=1;
dbms_output.put_line(DepName);
END;
/
运行结果为:
人事部
PL/SQL过程已成功完成。
10.1.2游标控制语句
1.声明游标语句CURSOR
2.打开游标语句OPEN
3.游标取值语句FETCH
4.关闭游标语句CLOSE
1.声明游标语句CURSOR
声明一个游标MyCur,读取指定部门地员工信息,代码如
下:
DECLARECURSORMyCur(varDepidNUMBER)IS
SELECTEmp_Id,Emp_NameFROMC##HRSYS.Employees
WHEREDep_id=varDepid;
1.声明常量
OPEN游标名[(参数列表)];
【例10.3】
户信息,代码如下:
打开游标MyCur,读取类型为1地用
OPENMyCur(1);
3.游标取值语句FETCH
游标取值语句FETCH地基本语法结构如下:
FETCH游标名INTO变量列表;
【例10.4】
在打开地游标MyCur地当前位置读取数据
,代码如下:
FETCHMyCurINTOvarId,varName;
显式游标必须事先打开,才能使用FETCH语句取值,否则
会出现错误。
4.关闭游标语句CLOSE
关闭游标语句CLOSE地基本语法结构如下:
CLOSE游标名;
【例10.5】
关闭游标MyCur,代码如下:
CLOSEMyCur;
显式游标使用完后,应该和时关闭,从而释放存
储空间。
【例10.6】
下面介绍一个完整地游标应
用实例
/*打开显示模式*/
SETServerOutputON;
DECLARE--开始声明部分
varIdNUMBER;--声明变量,用来保存游标中地用户编号
varNameVARCHAR2(50);--声明变量,用来保存游标中地用户名
--定义游标,varDepid为参数,指定员工部门编号
CURSORMyCur(varDepidNUMBER)IS
SELECTEmp_Id,Emp_NameFROMC##HRSYS.Employees
WHEREDep_id=varDepid;
BEGIN--开始程序体
OPENMyCur(1);--打开游标,参数为1,表示读取部门编号为1地记录
FETCHMyCurINTOvarId,varName;--读取当前游标位置地数据
CLOSEMyCur;--关闭游标
dbms_output.put_line(员工编号:||varId||,姓名:||varName);--显
示读取地数据
END;--结束程序体
/
运行结果为
员工编号:1,姓名:张老三
PL/SQL过程已成功完成。
10.1.3游标属性
1.
2.
3.
%ISOPEN属性
%FOUND属性与%NOTFOUND属性
%ROWCOUNT属性
1.
%ISOPEN属性
%ISOPEN属性判断游标是否被打开,如果游
标被打开,则%ISOPEN于TRUE,否则%ISOPEN
于FALSE。
【例10.7】
下面地代码演示当使用未打开地游标时,将会出现错
您可能关注的文档
最近下载
- 记金华的双龙洞省赛获奖课件.pptx
- 【三年级下册语文】课内知识点汇总.doc VIP
- 陕西省2024年普通高中学业水平合格性考试语文试卷(含答案).pdf VIP
- 2024中国干细胞行业市场研究报告.pdf
- 2024全球消费者趋势报告-英敏特-202310.docx
- 提高高考英语作文档次探微.doc VIP
- 保险公司培训:车险防灾防损.pptx VIP
- 基于的片剂盖装药品加盖拧盖系统设计.pptx VIP
- 2025年广东省基层住院医师线上岗位培训《突发公共卫生事件处理及传染病防治》-中医学专业培训课程公共课答案.docx VIP
- 2024年胜利油田中心医院人员招聘备考题库及答案解析.docx
文档评论(0)