您的当前位置:首页正文

实验十 游标的应用

2023-09-23 来源:客趣旅游网
实验十 游标的应用

一、

实验目的:

理解游标的作用

掌握游标的声明、打开、读取、关闭和释放

二、 实验内容

1、 建立游标实现,逐行读取选过课程的学生信息,要

求列出学号 ,姓名,课程名,成绩。

declare 学生信息 cursor static for

select *from 学生 open 学生信息

fetch first from 学生信息 declare @n int set @n=1

while @n <=@@CURSOR_ROWS begin

set @n =@n +1

fetch next from 学生信息 end

close 学生信息 deallocate 学生信息

2、 建立游标实现,对选课表中的成绩做逐个判定等级,

并将等级显示出来。90分以上的等级为:优秀;80-90的为良好;70-80的为中等;60-70的为合格;60分以下的为不及格。

declare 等级判定 cursor static

for

select *from 成绩

open 等级判定

declare @xh nvarchar(255),@kch nvarchar(255),@cj float,@dj char(10),@n int

fetch first from 等级判定 into @xh,@kch,@cj select @xh,@kch,@cj set @n=1

while @n <=@@CURSOR_ROWS begin set @dj= case

when @cj >=90 then '优秀' when @cj >=80 then '良好' when @cj >=70 then '中等' when @cj >=60 then '合格' when @cj <60 then '不及格' end

select @xh ,@kch,@cj ,@dj

fetch next from 等级判定 into @xh,@kch,@cj set @n =@n +1 end

close 等级判定 deallocate 等级判定 select *from 学生

3、 建立游标实现,将入学成绩大于560分的学生的政

治面貌改为党员。

declare 改面貌 cursor

for select * from 学生 where 入学成绩>560 for update of 政治面貌 open 改面貌

declare @n int set @n =1

while @n <@@CURSOR_ROWS begin

fetch next from 改面貌

update 学生 set 政治面貌 = '党员' where CURRENT of 改面貌 end

close 改面貌 deallocate 改面貌

4、 建立游标实现,删除选课表中“旅游学概论”的选

课信息

declare 删除选课 cursor

for select distinct 课程号 from 成绩 where 课程号=(select distinct 课程号 from 课程 where 课程名='旅游学概论') for update of 课程号 open 删除选课

declare @n int set @n =1

while @n <@@CURSOR_ROWS begin

fetch next from 删除选课

delete from 成绩 where 课程号=(select distinct 课程号 from 课程 where 课程名='旅游学概论') end

select * from 课程 close 删除选课

deallocate 删除选课

因篇幅问题不能全部显示,请点此查看更多更全内容