SQLServer2008数据库及应用 教学课件 ppt 作者 第4版 徐人凤电子课件 单元13 创建与使用游标.ppt

SQLServer2008数据库及应用 教学课件 ppt 作者 第4版 徐人凤电子课件 单元13 创建与使用游标.ppt

ID:51964766

大小:432.00 KB

页数:16页

时间:2020-03-26

SQLServer2008数据库及应用 教学课件 ppt 作者 第4版 徐人凤电子课件 单元13 创建与使用游标.ppt_第1页
SQLServer2008数据库及应用 教学课件 ppt 作者 第4版 徐人凤电子课件 单元13 创建与使用游标.ppt_第2页
SQLServer2008数据库及应用 教学课件 ppt 作者 第4版 徐人凤电子课件 单元13 创建与使用游标.ppt_第3页
SQLServer2008数据库及应用 教学课件 ppt 作者 第4版 徐人凤电子课件 单元13 创建与使用游标.ppt_第4页
SQLServer2008数据库及应用 教学课件 ppt 作者 第4版 徐人凤电子课件 单元13 创建与使用游标.ppt_第5页
资源描述:

《SQLServer2008数据库及应用 教学课件 ppt 作者 第4版 徐人凤电子课件 单元13 创建与使用游标.ppt》由会员上传分享,免费在线阅读,更多相关内容在教育资源-天天文库

1、单元13创建与使用游标深圳职业技术学院大型数据库课程组大型数据库学习目标【知识目标】理解游标的基本概念。掌握服务器游标的创建和使用步骤方法。掌握游标与其他Transcact-SQL配合使用的方法。【技能目标】会根据需要创建和使用游标。会在存储过程中使用游标。2任务概述小李查看学生选课数据库中的信息后,现在提出希望逐行显示查询结果,并希望将查询结果能保存在变量中,以便使用程序进行其它的处理。在学生选课数据库Xk中声明游标、打开游标、读取游标位置的数据、关闭游标及释放游标。3引例前面使用SELECT语句查询返回的是全部满足条件的

2、数据行。思考:如果要求每次只显示查询结果集中的一行,该如何处理?——这在将T-SQL嵌入到其它高级语言(如C、VC、Delphi等)的编程中经常用到。4游标概述游标:由查询结果集和游标位置(可以理解为指向当前数据行的指针)所构成。使用游标对查询结果集可进行逐行处理:1、在结果集中定位特定的数据行2、对结果集中游标位置的数据行进行处理(显示、更新、删除)SQLServer支持两种类型的游标:(1)Transcact-SQL服务器游标(2)数据库应用程序编程接口(API)游标函数。本书只介绍T-SQL服务器游标。5T-SQL服务

3、器游标使用游标的步骤:声明游标打开游标读取游标位置的数据修改或删除游标位置的数据—可以和其他T-SQL语句配合灵活使用关闭游标(与打开游标配对)释放游标(与声明游标配对,此时释放分配给游标的所有资源)6相关语句声明游标DECLAREcursor_nameCURSOR[FORWORD_ONLY

4、SCROLL]FORselect_statements[FOR{READONLY

5、UPDATE}]打开游标OPENcursor_name读取游标位置数据FETCH[NEXT

6、PRIOR

7、FIRST

8、LAST]FROMcursor关闭游标

9、CLOSEcursor_name删除游标DEALLOCATEcursor_name7创建游标【问题13.1】声明一个名为CrsCourse的游标,该游标从Course表中查询所有数据行并逐行显示;将课程编号为‘002’的数据行的限选人数修改为22。USEXkGODECLARECrsCourseCURSORFORSELECT*FROMCourseORDERBYCouNoGOOPENCrsCourseFETCHNEXTFROMCrsCourse--001的课程FETCHNEXTFROMCrsCourse--002的课程UPDAT

10、ECourseSETLimitNum=22WHERECURRENTOFCrsCourse--修改当前数据行002的课程DELETEFROMCourseWHERECURRENTOFCrsCourse--删除当前数据行002的课程CLOSECrsCourseDEALLOCATECrsCourse8使用FETCH将值存入变量如果需要判断FETCH数据行中的某列数据如课程号是否为所需要的值,就需要将FETCH到的数据行保存到变量中,且在FETCH之前须先声明这些变量。FETCH到变量的格式:FETCH[NEXT

11、PRIOR

12、FIRS

13、T

14、LAST]FROMcursorINTO@variable_name,…说明:NEXT

15、PRIOR

16、FIRST

17、LAST见239页说明。默认为NEXT;其它的则需要将游标声明为SCROLL。【问题13.2】使用FETCH将值存入变量。9使用@@FETCH_STATUS的游标全局变量@@FETCH_STATUS返回FETCH成功与否,其值为int:0:FETCH语句成功-1:FETCH语句失败或此行不在结果集中-2:被提取的行不存在【问题13.3】编写程序,使用游标逐行显示查询结果集(遍历)的每一行,使用@@FETCH_ST

18、ATUS作为循环控制变量。小结:游标适用于需要遍历结果集这样的处理过程。它允许对结果集中的每一行执行不同的操作,而不是整个结果集执行同一操作的情况。10练一练使用游标遍历Course表,输出报名人数最多的课程的信息(课程编号、课程名称、报名人数)使用游标遍历Course表,输出总报名人数最多的课程类的信息(课程类别、该类课程的总报名人数)11游标配合存储过程使用在实际应用中,通常配合存储过程使用游标,游标特别适合需遍历表这样的处理过程。如果能合理地将客户端循环处理表的代码转换为存储过程并使用游标来处理,将大大提高数据的处理速

19、度。【问题】:改写【问题13.3】程序为带有游标的存储过程。12游标配合存储过程使用【问题】创建带有游标的存储过程,更新Course表中每门课程的报名人数(WillNum)【思考】该存储过程的功能是更新报名人数,为何声明的游标却是只读的?13游标的综合应用(可选)【问题13.4】在选课系统

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

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

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