天学通Oracle第二版]第9章游标.ppt

天学通Oracle第二版]第9章游标.ppt

ID:52305969

大小:277.86 KB

页数:17页

时间:2020-04-04

天学通Oracle第二版]第9章游标.ppt_第1页
天学通Oracle第二版]第9章游标.ppt_第2页
天学通Oracle第二版]第9章游标.ppt_第3页
天学通Oracle第二版]第9章游标.ppt_第4页
天学通Oracle第二版]第9章游标.ppt_第5页
资源描述:

《天学通Oracle第二版]第9章游标.ppt》由会员上传分享,免费在线阅读,更多相关内容在教育资源-天天文库

1、第9章游标Oracle编程中,可以使用函数、存储过程等,这很大程度上接近于编程语言。Oracle的本质还是作为一个数据库存在的,因此,Oracle也必须提方便地访问数据的方法。这正是游标概念的本质——允许用户针对某个结果集进行逐行访问。本章重点介绍游标的概念,主要内容包括:声明和使用显式游标;使用隐式游标;使用动态游标。9.1游标简介游标类似于编程语言中的指针,游标可以进行位置的移动,以循环访问结果集中每条记录。通过游标可以方便的访问当前记录。游标分两类:显式游标和隐式游标。显式游标可以被用户显式创建、打开、访问、关闭,即用户可以控制游标的整个生命周期。而隐式游标无需用

2、户的全程控制,即可进行访问。9.2显式游标显式游标在使用时,应该遵循声明、打开、访问、关闭的步骤。本节将通过几个范例讲解如何创建和使用游标9.2.1声明游标如同声明变量,声明游标也应该使用declare命令。游标的内容一般利用SQL查询语句来定义。因为游标的本质就是用来处理结果集中的每条记录。declarecursorcu_student_nameisselectstudent_namefromstudents;student_idnumber;------------(1)student_namestudents.student_name%type;---------

3、--(2)studentstudents%rowtype;------------(3)declarecursorcu_student(minAgeinnumber,maxAgeinnumber)isselect*fromstudents;wherestudent_age>=minAgeandstudent_age<=maxAgestudentstudents%rowtype;9.2.2使用游标游标的使用主要有三个步骤:打开游标、通过游标获取数据和关闭游标。其中尤其需要注意的是关闭游标。当使用完游标之后,应该立即关闭,否则将会占用数据库资源,增加数据库负担。本小节将通过

4、范例来讲述如何使用游标。declarecursorcu_student(minAgeinnumber,maxAgeinnumber)isselect*fromstudentswherestudent_age>=minAgeandstudent_age<=maxAge;studentstudents%rowtype;beginopencu_student(19,20);fetchcu_studentintostudent;whilecu_student%foundloopdbms_output.put_line(student.student_name

5、

6、':'

7、

8、stu

9、dent.student_age

10、

11、'岁');fetchcu_studentintostudent;endloop;closecu_student;end;9.3隐式游标隐式游标是相对于声明游标变量的显式游标而言的。显式游标通常使用declare命令来声明游标;而隐式游标则无需declare命令即可直接使用。隐式游标不能直接被用户控制和使用——即不能执行打开(open),获取游标数据(fetch)、关闭(close)等。隐式游标有两种:使用Oracle预定义的名为SQL的隐式游标和使用cursorforloop来进行循环的隐式游标。9.3.1sql隐式游标Oracle为

12、每个PL/SQL的会话都定义了一个名为sql的游标变量。可以在PL/SQLDeveloper中直接调用该变量。beginifsql%rowcount>0thendbms_output.put_line('sql游标变量的rowcount属性大于0');endif;end;declarestudentstudents%rowtype;beginupdatestudentssetstudent_age=student_age-1;----fetchsqlintostudent;dbms_output.put_line('共更新了'

13、

14、sql%rowcount

15、

16、'条记录')

17、;end;9.3.2cursorfor游标sql游标可以应用于更新及删除数据表中的数据,为了能够处理select语句获得的记录集合,Oracle提供了另外一种隐式游标——cursorfor游标。利用该游标,用户可以像使用普通循环语句一样来循环处理SELECT语句所获得的每一条记录。beginforstudentin(select*fromstudents)loopdbms_output.put_line(student.student_id

18、

19、':'

20、

21、student.student_name

22、

23、':'

24、

25、student.student_

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

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

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