- 1、本文档共9页,可阅读全部内容。
- 2、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
- 3、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载。
- 4、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
- 5、该文档为VIP文档,如果想要下载,成为VIP会员后,下载免费。
- 6、成为VIP后,下载本文档将扣除1次下载权益。下载后,不支持退款、换文档。如有疑问请联系我们。
- 7、成为VIP后,您将拥有八大权益,权益包括:VIP文档下载权益、阅读免打扰、文档格式转换、高级专利检索、专属身份标志、高级客服、多端互通、版权登记。
- 8、VIP文档为合作方或网友上传,每下载1次, 网站将根据用户上传文档的质量评分、类型等,对文档贡献者给予高额补贴、流量扶持。如果你也想贡献VIP文档。上传文档
查看更多
实验报告3游标的使用,游标卡尺实验报告,游标卡尺制作实验报告,游标卡尺的使用方法,oracle游标的使用,游标卡尺的使用,数据库游标的使用,游标的使用,存储过程游标的使用,sqlserver游标的使用
山西大学计算机与信息技术学院
实验报告
姓 名 学 号 专业班级 课程名称 实验日期 成 绩 指导教师 批改日期 实验名称 实验目的:
实验内容:
--声明游标
--use stu_DB
declare stuCur cursor
for
select sno,sname
from student
where sage=19
for read only
go
--打开游标
open stuCur
go
--处理游标中的数据
fetch next from stuCur
go
--关闭游标
close stuCur
--释放游标
deallocate stuCur
如图:
例2:
声明一个名称为Xuanke的游标
DECLARE XUANKE CURSOR
DYNAMIC
FOR
SELECT sno,grade
FROM sc
WHERE cno=02002
FOR UPDATE OF sno
GO
OPEN XUANKE
GO
FETCH NEXT FROM XUANKE
GO
CLOSE XUANKE
DEALLOCATE XUANKE
例3:
声明一个游标,可前后滚动,可对选课表2中的成绩进行修改
use 学生选课DECLARE XK CURSOR
FOR SELECT * FROM sc
FOR UPDATE OF grade
OPEN XK
SELECT 游标数据行数=@@CURSOR_ROWSFETCH NEXT FROM XK
CLOSE XK
例4:
为学生表中姓“李”的同学的行声明游标,并使用FETCH NEXT逐个提取这些行。(SCROLL 指定所有的提取选项FIRST, LAST, PRIOR, NEXT, RELATIVE, ABSOLUTE均可使用)
use sc
DECLARE STU SCROLL CURSOR
FOR
SELECT sname
FROM student
WHERE sname LIKE 李%
ORDER BY
GO
OPEN STU
FETCH NEXT FROM STU
WHILE @@FETCH_STATUS=0
BEGIN
FETCH NEXT FROM STU
END
@@FETCH_STATUS返回针对连接当前打开的任何游标发出的上一条游标 FETCH 语句的状态。 0 FETCH 语句成功。-1 FETCH 语句失败或行不在结果集中。 -2 提取的行不存在
use 学生选课declare student scroll cursor
for
select sname,sage
FROM student
open student
fetch last from student
fetch prior from student
fetch absolute 2 from student
fetch relative 3 from student
fetch relative -2 from student
使用游标修改数据
UPDATE和DELETE都是集合操作语句,如果只想修改或删除其中某个记录,则需要用带游标的SELECT语句查出所有满足条件的记录,从中进一步找出要修改或删除的记录,然后用CURRENT形式的UPDATE 和DELETE 语句修改或删除之。具体步骤:
1、用DECLARE语句声明游标,并指定FOR UPDATE OF column_name_list。
2、用OPEN语句打开游标。
3、用FETCH语句推进游标指针。
4、检查记录是否是需要修改或删除的记录。
5、处理完毕用CLOSE语句关闭游标。
用户可以在UPDATE 或DELETE 语句中使用游标来更新或删除表或视图中的行,但不能用来插入新行。
例6:
统计“数据结构”课程考试成绩的各分数段的分布情况。
use sc
declare course cursor
for
select grade from sc
where cno=(select cno from course
where cname=数据结构)declare @p_100 smallint,@p_90 smallint,@p_80 smallint
declare @p_70 smallint,@p_60 smallint,@p_others smallint
declare @p_grade smallint
set @p_100=0
set @p_90=0
set @p_80=0
set @p_70=0
set @p_60=0
set @p_others=0
set @p_grade=0
open course
declare @p_100
文档评论(0)