欢迎来到天天文库
浏览记录
ID:51618334
大小:459.00 KB
页数:16页
时间:2020-03-26
《SQLServer2005数据库及应用 教学课件 ppt 作者 第3版 徐人凤 第3版PPT 单元13.ppt》由会员上传分享,免费在线阅读,更多相关内容在教育资源-天天文库。
1、单元13创建与使用游标计算机工程学院大型数据库课程组大型数据库2学习目标理解游标的概念、作用掌握游标的使用方法配合其他T-SQL语句,灵活使用游标3内容框架4引例以前:使用SELECT语句对表格进行查询,返回的结果集包括所有满足条件的行。思考:如果要求每次只显示结果集(例如上面的Course表)中的一行,该如何处理?——这在将T-SQL嵌入到其它高级语言(如C、VC、Delphi等)的编程中经常用到。5游标概述可以将游标看作一种特殊的指针,它可以指向与它相关联的结果集中的任意一行,以便对当前位置的行进行处理。游标提供了对一个结果集进行逐行
2、处理的能力:在结果集中定位特定行从结果集的当前位置检索行支持对结果集中当前位置的行进行数据处理(修改/删除)6使用游标的步骤声明游标打开游标处理数据(读取/修改/删除)——可以和其他T-SQL语句配合灵活使用关闭游标(与打开游标配对)释放游标(与声明游标配对,此时释放分配给游标的所有资源)【例】游标基本使用的例子7总结:相关语法格式声明游标DECLAREcursor_nameCURSOR[FORWORD_ONLY
3、SCROLL]FORselect_statements[FOR{READONLY
4、UPDATE}]打开游标OPENcursor
5、_name使用游标FETCH[NEXT
6、PRIOR
7、FIRST
8、LAST]FROMcursor关闭游标CLOSEcursor_name删除游标DEALLOCATEcursor_name8练习1声明一个名为CrsStudent的游标,使其与“00电子商务”班的所有学生信息(学号、姓名)相关联,并逐行显示前三条学生信息9使用FETCH将值存入变量格式:FETCH[NEXT
9、PRIOR
10、FIRST
11、LAST]FROMcursorINTO@variable_name,…【例】10如果遍历整个结果集?使用@@fetch_status:该全局变量/配
12、置函数返回最近一次FETCH语句执行后的游标状态,返回类型为int:0:FETCH语句成功-1:FETCH语句失败或此行不在结果集中-2:被提取的行不存在注意:@@fetch_status返回的并不是当前被打开的游标的状态。11练习2使用游标遍历Course表,输出报名人数最多的课程的信息(课程编码、课程名称、报名人数)总结:游标特别适用于需要遍历结果集这样的处理过程。它允许对结果集中的每一行执行不同的操作,而不是整个结果集执行同一操作的情况。12练习3使用游标遍历Course表,输出总报名人数最多的课程类的信息(课程类别、该类课程的总报
13、名人数)13游标配合存储过程使用(1)在实际应用中,通常配合存储过程使用游标,游标特别适合需遍历表这样的处理过程。如果能合理地将客户端循环处理表的代码转换为存储过程并使用游标来处理,将大大提高数据的处理速度。【例】创建存储过程,并利用游标实现练习2的功能14游标配合存储过程使用(2)【例】创建存储过程,更新Course表中每门课程的报名人数(WillNum)【思考】该存储过程的功能是更新报名人数,为何声明的游标却是只读的?15总结重点:掌握游标的使用步骤、方法掌握游标结合流控语句、存储过程的灵活应用16课后任务独自完成课本实训
此文档下载收益归作者所有