实验八 存储过程

版权声明:原创文章,未经许可不能转载 https://blog.csdn.net/qq_38499625/article/details/80663646

实验内容

(1)  创建一个不带参数的存储过程,要求查询所有学生的姓名,所选修课的课程名及成绩。并执行该存储过程。

create procedure SCG

as

begin

select sname,cname,grade from student,Course,SC where student.Sno=SC.Sno and SC.Cno=Course.Cno

end

 

exec SCG

(2)  创建一带参数的存储过程,根据学生姓名查询该学号、姓名及所选修的课程号、课程名、成绩。并用“张立”去调用该存储过程。

create procedure SCG1

@sname char(9)

as

begin

select student.Sno,sname,sc.Cno,cname,grade

from Student,SC,Course

where student.Sname=@sname and student.Sno=SC.Sno

and Course.Cno=SC.Cno

end

 

exec SCG1张立

(3)创建带有输入参数存储过程,根据学生姓名比较两个学生所选修课的平均成绩,返回比较的结果。用姓名为“李勇”和“刘晨”的学生去执行该存储过程。

create procedure SCG2

@sname1 char(9),

@sname2 char(9)

as

begin

declare @avg1 int,@avg2 int

select @avg1=AVG(grade) from student,Course,SC

where Student.Sno=SC.Sno and Course.Cno=SC.Cno and Sname=@sname1

select @avg2=AVG(grade) from student,Course,SC

where Student.Sno=SC.Sno and Course.Cno=SC.Cno and Sname=@sname2

 

if(@avg1>@avg2)

print @sname1+'的成绩大于'+@sname2+'的成绩'

else

print @sname1+'的成绩小于'+@sname2+'的成绩'

 

end

 

exec SCG2李勇,刘晨

猜你喜欢

转载自blog.csdn.net/qq_38499625/article/details/80663646