实验6 游标的应用(完整版)
- 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
- 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
- 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
数据库实验六游标
实验要求:
(1)参照例7-3建立一个嵌套游标应用,其功能是按学号升序列出全体学生信息(学号、姓名、院系名称)及其所修课程名称和考试成绩信息(基于实验2建立的表和实验3插入的数据)
(2)按要求按要求逐一读出游标中的记录并显示。
实验代码:
declare@xh nchar(8),@xm nchar(10),@yx nchar(10)
declare@kcmc nchar(8),@cj nchar(10)
declare嵌套游标1cursor for
select学生.学号,学生.姓名,学生.院系from学生order by学号
open嵌套游标1
print'----学生信息----'
print'学号姓名院系'
fetch from嵌套游标1into@xh,@xm,@yx
while@@FETCH_STATUS=0
begin
print@xh++@xm++@yx
declare嵌套游标2cursor for
select课程.课程名称,选课.成绩from选课join课程
on课程.课程编号=选课.课程编号
where选课.学号=@xh
open嵌套游标2
print'课程名称成绩'
fetch from嵌套游标2into@kcmc,@cj
while@@FETCH_STATUS=0
begin
print@kcmc+@cj
fetch from嵌套游标2into@kcmc,@cj
end
close嵌套游标2
deallocate嵌套游标2
fetch from嵌套游标1into@xh,@xm,@yx
end
close嵌套游标1
deallocate嵌套游标1
实验总结:
游标允许应用程序对查询语句select返回的行结果集中每一行进行相同或不同的操作,而不是一次对整个结果集进行同一种操作;它还提供对基于游标位置而对表中数据进行删除或更新的能力;而且,正是游标把作为面向集合的数据库管理系统和面向行的程序设计两者联系起来,使两个数据处理方式能够进行沟通。
游标速度较慢。数据量比较大时,占内存