游标、存储过程和触发器

游标、存储过程和触发器

ID:44791380

大小:737.50 KB

页数:47页

时间:2019-10-29

游标、存储过程和触发器_第1页
游标、存储过程和触发器_第2页
游标、存储过程和触发器_第3页
游标、存储过程和触发器_第4页
游标、存储过程和触发器_第5页
资源描述:

《游标、存储过程和触发器》由会员上传分享,免费在线阅读,更多相关内容在行业资料-天天文库

1、第10章游标、存储过程和触发器课程描述介绍Oracle数据库程序设计中经常会用到的3个概念,即游标、存储过程和触发器。本章知识点游标存储过程管理触发器管理游标游标的基本概念游标控制语句游标属性游标FOR循环游标的基本概念游标示意图游标的基本概念使用显式游标(1)说明游标。(2)打开游标。(3)读取数据。(4)关闭游标。游标的基本概念隐式游标【例】使用SELECT语句声明隐式游标,从HR.Departments表中读取Department_name字段的值到变量DepName:SETServerOutputON;DECLAREDep

2、NameHR.Departments.Department_Name%Type;BEGINSELECTDepartment_nameINTODepNameFROMHR.DepartmentsWHEREDepartment_ID=10;dbms_output.put_line(DepName);END;游标控制语句(1)声明游标语句CURSOR:DECLARECURSOR<游标名>[(<参数列表>)]IS;【例】声明一个游标MyCur,读取指定类型的用户信息:DECLARECURSORMyCur(varTypeN

3、UMBER)ISSELECTUserId,UserNameFROMUsersWHEREUserType=varType;游标控制语句(2)打开游标语句OPEN:OPEN<游标名>[(<参数列表>)];【例】打开游标MyCur,读取类型为1的用户信息:OPENMyCur(1);游标控制语句(3)游标取值语句FETCH。游标取值语句FETCH的基本语法结构如下:FETCH<游标名>INTO<变量列表>;【例】在打开的游标MyCur的当前位置读取数据:FETCHMyCurINTOvarI,dvarName;(4)关闭游标语句CLOSE:

4、CLOSE<游标名>;【例】关闭游标MyCur:CLOSEMyCur;游标控制语句【例】下面介绍一个完整的游标应用实例:/*打开显示模式*/SETServerOutputON;DECLARE--开始声明部分varIdNUMBER;--声明变量,用来保存游标中的用户编号varNameVARCHAR2(50);--声明变量,用来保存游标中的用户名--定义游标,varType为参数,指定用户类型编号CURSORMyCur(varTypeNUMBER)ISSELECTUserId,UserNameFROMUsersWHEREUserTyp

5、e=varType;BEGIN--开始程序体OPENMyCur(1);--打开游标,参数为1,表示读取用户类型编号为1的记录FETCHMyCurINTOvarId,varName;--读取当前游标位置的数据CLOSEMyCur;--关闭游标dbms_output.put_line('用户编号:'

6、

7、varId

8、

9、',用户名:'

10、

11、varName);--显示读取的数据END;--结束程序体游标属性(1)%ISOPEN属性【例】下面的代码演示当使用未打开的游标时,将会出现错误:/*打开显示模式*/SETServerOutputON;D

12、ECLARE--开始声明部分varNameVARCHAR2(50);--声明变量,用来保存游标中的用户名varIdNUMBER;--声明变量,用来保存游标中的用户编号--定义游标,varType为参数,指定用户类型编号CURSORMyCur(varTypeNUMBER)ISSELECTUserId,UserNameFROMUsersWHEREUserType=varType;BEGIN--开始程序体FETCHMyCurINTOvarId,varName;--读取当前游标位置的数据CLOSEMyCur;--关闭游标dbms_outp

13、ut.put_line('用户编号:'

14、

15、varId

16、

17、',用户名:'

18、

19、varName);--显示读取的数据END;--结束程序体游标属性【例】修改上面的程序,在使用游标之前,调用%ISOPEN属性判断游标是否打开。/*打开显示模式*/SETServerOutputON;DECLARE--开始声明部分varNameVARCHAR2(50);--声明变量,用来保存游标中的用户名varIdNUMBER;--声明变量,用来保存游标中的用户编号--定义游标,varType为参数,指定用户类型编号CURSORMyCur(varTypeNU

20、MBER)ISSELECTUserId,UserNameFROMUsersWHEREUserType=varType;BEGIN--开始程序体IFMyCur%ISOPEN=FALSEThenOPENMyCur(2);ENDIF;FETCHMyCur

当前文档最多预览五页,下载文档查看全文

此文档下载收益归作者所有

当前文档最多预览五页,下载文档查看全文
温馨提示:
1. 部分包含数学公式或PPT动画的文件,查看预览时可能会显示错乱或异常,文件下载后无此问题,请放心下载。
2. 本文档由用户上传,版权归属用户,天天文库负责整理代发布。如果您对本文档版权有争议请及时联系客服。
3. 下载前请仔细阅读文档内容,确认文档内容符合您的需求后进行下载,若出现内容与标题不符可向本站投诉处理。
4. 下载文档时可能由于网络波动等原因无法下载或下载错误,付费完成后未能成功下载的用户请联系客服处理。