数据库《游标的使用》实验报告.docVIP

  1. 1、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。。
  2. 2、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载
  3. 3、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
  4. 4、该文档为VIP文档,如果想要下载,成为VIP会员后,下载免费。
  5. 5、成为VIP后,下载本文档将扣除1次下载权益。下载后,不支持退款、换文档。如有疑问请联系我们
  6. 6、成为VIP后,您将拥有八大权益,权益包括:VIP文档下载权益、阅读免打扰、文档格式转换、高级专利检索、专属身份标志、高级客服、多端互通、版权登记。
  7. 7、VIP文档为合作方或网友上传,每下载1次, 网站将根据用户上传文档的质量评分、类型等,对文档贡献者给予高额补贴、流量扶持。如果你也想贡献VIP文档。上传文档
查看更多

xx大学计算机与信息技术学院

实验报告

姓名

学号

专业班级

课程名称

数据库系统概论

实验日期

成绩

指导教师

批改日期

实验名称

游标的使用

实验目的:

?掌握游标的使用方法

?掌握使用游标逐行操作SELECT语句结果集的数据的技能

实验内容:

?游标声明

?翻开游标

?读取数据

?关闭游标

?释放游标

三、实验步骤:

(一)使用游标的几个步骤:

1、声明游标。使用T-SQL语句生成一个结果集,并且定义游标的特征,如游标中的记录是否可以修改;

2、翻开游标

3、推进游标指针,从游标的结果集中提取数据,从游标中检索一行或多行数据成为提取数据。

4、逐行处理游标指针所指向的行数据。

5、关闭和释放游标。

例1、

利用标准方式声明一个名称为“student”的游标

use学生选课

declarestudentcursor

for

selectSno,Sname,sage

FROMstudent

WHEREsage=19

FORREADONLY

GO

openstudent//翻开

go

fetchnextfromstudent//从游标中读取数据

go

closestudent//关闭

deallocatestudent//删除

例2:

声明一个名称为Xuanke的游标

use学生选课

/*声明一个名称为Xuanke的游标*/

DECLAREXUANKECURSOR

DYNAMIC/*动态的,动力的*/

FOR

SELECTSno,Grade

FROMSC

WHERECno=1

FORUPDATEOFSno

GO

/*翻开XUANKE游标*/

OPENXUANKE

GO

/*从XUANKE游标中读取数据*/

FETCHNEXTFROMXUANKE

GO

/*关闭XUANKE游标*/

CLOSEXUANKE

/*删除XUANKE游标*/

DEALLOCATEXUANKE

例3:

声明一个游标,可前后滚动,可对选课表2中的成绩进行修改

use学生选课

/*声明一个游标,可前后滚动,可对选课表中的成绩进行修改

use学生选课*/

DECLAREXKCURSOR

FORSELECT*FROMSC

FORUPDATEOFGrade

/*翻开游标XK*/

OPENXK

SELECT游标数据行数=@@CURSOR_ROWS

/*

全局变量@@CURSOR_ROWS返回最后翻开的游标中当前存在的合格行的数量。

返回值为-m,表示游标被异步填充。返回值-m是键集中当前的行数。

返回值为-1,表示游标为动态。因为游标可反映所有更改,所以符合游标的行数不断变化。因此永远不能确定地说所有符合条件的行均已检索到。

返回值为,没有被翻开的游标,没有符合最后翻开的游标的行,或最后翻开的游标已被关闭或被释放。

返回值为n,游标已完全填充。返回值n是在游标中的总行数。

@@ROWCOUNT

返回受上一语句影响的行数。任何不返回行的语句将这一变量设置为.

*/

/*从游标XK中读取数据*/

FETCHNEXTFROMXK

/*关闭游标XK*/

closeXK

deallocateXK

例4:

为学生表中姓“李”的同学的行声明游标,并使用FETCHNEXT逐个提取这些行。〔SCROLL指定所有的提取选项FIRST,LAST,PRIOR,NEXT,RELATIVE,ABSOLUTE均可使用〕

use学生选课

/*为学生表中姓“李”的同学的行声明游标,并使用FETCHNEXT逐个提取这些行。〔SCROLL指定所有的提取选项FIRST,LAST,PRIOR,NEXT,RELATIVE,ABSOLUTE均可使用〕

use学生选课*/

DECLARESTUSCROLLCURSOR

FOR

SELECTSname

FROMStudent

WHERESnameLIKE李%

ORDERBYSname

GO

OPENSTU

FETCHNEXTFROMSTU

WHILE@@FETCH_STATUS=0

BEGIN

FETCHNEXTFROMSTU

END

closeSTU

/*

@@FETCH_STATUS返回针对连接当前翻开的任何游标发出的上一条游标FETCH语句的状态。

0FETCH语句成功。

-1FETCH语句失败或行不在结果集中。

-2提取的行不存在

*/

例5:

创立一个SCROLL游标,使其通过LAST,PRIOR,RELATIVE,ABSOLUTE选项支持所有

文档评论(0)

liuzhouzhong + 关注
实名认证
文档贡献者

该用户很懒,什么也没介绍

1亿VIP精品文档

相关文档