--(1)建立存储过程查询计算机系学生的考试情况,列出学生的姓名、课程名和考试成绩。
create procedure p1
@sdept char(10)
as
select sname 学生姓名,cname 课程名,grade 考试成绩
from student s inner join SC c on s.Sno=c.Sno inner join Course co on c.Cno=co.Cno
where s.Dept=@sdept;
exec p1 '计算机系';
--(2)建立存储过程查询某个指定系学生的考试情况,列出学生的姓名、所在系、课程名和考试成绩,并自己指定参数查询。
create procedure p2
@sdept char(10)
as
select sname 学生姓名,s.dept 所在系 ,cname 课程名,grade 考试成绩
from student s inner join SC c on s.Sno=c.Sno inner join Course co on c.Cno=co.Cno
where s.Dept=@sdept;
exec p2 '信息管理系';
--(3)建立存储过程查询某个学生某门课程的考试成绩,课程的默认值为“java” ,并自己指定参数查询。
create procedure p3
@tsno int ,@tcname char(10)='Java'
as
select grade
from student s inner join SC c on s.Sno=c.Sno inner join Course co on c.Cno=co.Cno
where c.Sno=@tsno and cname=@tcname;
exec p3 '0811101','高等数学';
--(4)建立存储过程统计全体学生人数,并将统计结果用输出参数返回,并自己指定参数查询。
create procedure p4
@sdept char(10),@ret int output
as
select @ret=COUNT(sno) from student group by dept ;
declare @ret int
exec p4 '计算机系',@ret output
print @ret;
--(5)建立存储过程统计指定课程(课程名)的平均成绩,并将统计结果用输出参数返回,并自己指定参数查询。
create procedure p5
@tcname char(10),@res float(2) output
as
select @res=AVG(grade) from SC c join Course co on c.Cno=co.Cno
where grade is not null group by Cname ;
declare @res float(2)
exec p5 '高等数学',@res output
print @res;
--(6)建立存储过程统计指定系选修指定课程(课程名)的学生人数和考试平均成绩,并用输出参数返回选课人数和平均成绩,并自己指定参数查询。
create procedure p6
@tdept char(20),@tcname char(20),@res1 int output,@res2 float(2) output
as
select @res1=COUNT(*),@res2=AVG(grade)
from student s inner join SC c on s.Sno=c.Sno inner join Course co on c.Cno=co.Cno
where Dept=@tdept and Cname=@tcname
group by dept,cname;
declare @res1 int , @res2 float(2)
exec p6 '计算机系','高等数学',@res1 output,@res2 output
print @res1
print @res2;
--(7)建立存储过程将指定课程(课程号)的学分增加指定的分数。
create procedure p7
@tcno char(20),@score int
as
update course set credit+=credit+@score where cno=@tcno;
exec p7 'C001',1;
因篇幅问题不能全部显示,请点此查看更多更全内容
Copyright © 2019- bangwoyixia.com 版权所有 湘ICP备2023022004号-2
违法及侵权请联系:TEL:199 1889 7713 E-MAIL:2724546146@qq.com
本站由北京市万商天勤律师事务所王兴未律师提供法律服务