欢迎来到天天文库
浏览记录
ID:51965563
大小:974.50 KB
页数:12页
时间:2020-03-26
《SQLServer2008数据库技术与应用全套配套课件熊发涯胡大威电子资源 9.3 游标.ppt》由会员上传分享,免费在线阅读,更多相关内容在教育资源-天天文库。
1、任务9.3游标单元9Transact-SQL语言基础《SQLServer2008数据库技术及应用》任务内容游标概述12创建使用变量的游标创建和使用游标2流程控制语句1创建基本游标3使用@@FETCH_STATUS游标1.1游标概念游标是一种能从包含多条数据记录的结果集中每次提取一条记录的机制。用户可以通过单独处理每一条来逐条收集信息对数据朱行进行操作。数据库中的游标类似于高级语言中的指针。一个游标是一个对象,它可以指向一个集合中的某个特定的数据行,并执行用户给定的操作。游标概述11.2使用游标的步骤首先使用DECLARECURSOR语句声明一个游标,它指定产生该游标结果集的S
2、ELECT语句。使用OPEN语句打开该游标。使用FETCH语句从SELECT结果集中查询单独的数据行。可以使用UPDATE或DELETE语句修改游标位置的数据行。使用CLOSE语句关闭游标,结束动态游标的操作并释放资源。使用DEALLOCATE语句从当前的会话中删除对游标的引用,以释放分配给游标的所有资源,游标释放之后不可以用OPEN语句重新打开,必须使用DECLARE语句重建游标。游标概述11.3@@FETCH_STATUS全局变量@@FETCH_STATUS:@@fetch_status是MicroSoftSQLSERVER的一个全局变量,反应游标读取下一条数据是否成功,
3、返回FETCH语句执行后的游标状态。返回类型:integer返回值说明:0:表示FETCH语句成功。-1:表示FETCH语句失败,或者此数据行不在结果集中。-2:被提取的数据行不存在。在未执行任何提取操作前,@@FETCH_STATUS的值是未知的。游标概述12.1创建基本游标【问题9.26】声明一个标准游标,名为CrsXs,结果集为“学生”表中所有的女同学。在查询窗口中输入如下语句,执行结果如图所示。(1)使用DECLARECURSOR语句声明游标。USEcjglGODECLARECrsXsCURSORFORSELECT*FROMxsWHERE性别=’False’ORDER
4、BY学号GO2创建和使用游标2.1创建基本游标(2)使用OPEN语句打开该游标。OPENCrsXs(3)使用FETCH语句在游标中查询并返回数据行。FETCHNEXTFROMCrsXs2创建和使用游标2.1创建基本游标(4)将当前数据行的专业名修改为“计算机应用”。UPDATExsSET专业名=’计算机应用’WHERECURRENTOFCrsXs下图看出数据表中的王元同学的专业已经改为“计算机应用”。如果要删除当前数据行,使用DELETEFROMxsWHERECURRENTOFCrsXs。2创建和使用游标2.1创建基本游标(5)使用CLOSE语句关闭游标,结束动态游标的操作并
5、释放资源。CLOSECrsXs(6)使用DEALLOCATE语句从当前的会话中删除对游标的引用。DEALLOCATECrsXs2创建和使用游标2.2创建使用变量的游标【问题9.27】使用FETCH将值存入变量。在查询窗口中输入如下语句,执行结果如下图所示。输出第一条记录输出第二条记录使用完毕,关闭并释放游标。2创建和使用游标USEcjglGODECLARE@xhchar(6),@xmchar(8)DECLARECrsXsCURSORFORSELECT学号,姓名FROMxsORDERBY学号OPENCrsXs--使用FETCH将值存入变量,注意各变量的顺序、数据类型、数目与游标
6、相一致。FETCHNEXTFROMCrsXsINTO@xh,@xm--利用变量打印输出PRINT'学号:'+@xh+'姓名'+@xmCLOSECrsXsDEALLOCATECrsXs2.3创建使用@@FETCH_STATUS的游标【问题9.28】使用游标逐行显示查询结果集的每一行,学会使用@@FETCH_STATUS。2创建和使用游标USEcjglGODECLARE@xhchar(6),@xmchar(8)--定义游标DECLARECrsXsCURSORFORSELECT学号,姓名FROMxsWHERE性别='False'ORDERBY学号OPENCrsXsFETCHNEXT
7、FROMCrsXsINTO@xh,@xm--取得第一行数据WHILE@@FETCH_STATUS=0--通过判断@@FETCH_STATUS进行循环BEGINPRINT'学号:'+@xh+'姓名:'+@xmFETCHNEXTFROMCrsXsINTO@xh,@xm--取得下一行数据ENDCLOSECrsXs--关闭游标DEALLOCATECrsXs--释放游标THANKYOU
此文档下载收益归作者所有