SQL的存储过程 例题

SQL的存储过程 例题,第1张

1、创建存储过程P1,查询每个学生的修课门数,要求列出学生学号、姓名及修课门数。

create proc P1

as

select Student.StudentID,StudentName,count(CourseID)选修门数 from Student join Grade

on Grade.StudentID=Student.StudentID

group by Student.StudentID,StudentName

go

2、创建存储过程P2,查询学生的学号、姓名、课程名、成绩,将学生所在系作为输入参数

create proc P2

@departmentname varchar(20)

as

select Student.StudentID,StudentName,CourseName,Grade from Student join Grade

on Grade.StudentID=Student.StudentID join Course

on Course.CourseID=Grade.CourseID join Class

on Class.ClassID=Student.ClassID join Department

on Department.DepartmentID=Class.DepartmentID

where DepartmentName=@departmentname

go

3、创建存储过程P3,查询指定系的男生人数,其中系为输入参数,人数为输出参数。

create proc P3

@departmentname varchar(20),

@num int output

as

select @num=count(StudentID) from Student join Class

on Class.ClassID=Student.ClassID join Department

on Department.DepartmentID=Class.DepartmentID

where DepartmentName=@departmentname and Sex='男'

go

4、创建存储过程P4,删除指定学生的修课记录,其中学号为输入参数。

create proc P4

@sid char(12)

as

 delete  from  Grade where  StudentID=@sid

go

5、创建存储过程P5, 通过输入教师的教师号返回教师性别

create proccP5

@tid char(8),

@sex char(2) output

as

select @sex=Sex from Teacher where TeacherID=@tid

6、创建存储过程P6,通过输入的班级名称能够返回该班级的女生人数。

create proc P6

@cname varchar(20),

@gnum int output

as

select @gnum=count(StudentID)from Student join Class

on Class.ClassID=Student.ClassID

where ClassName=@cname and Sex='女'

go

7、创建存储过程P7,通过输入的班级名称能够返回该班级的平均成绩。

create proc P7

@cname varchar(20),

@avg int output

as

select @avg=avg(Grade) from Grade join Student

on Student.StudentID=Grade.StudentID join Class

on Class.ClassID=Student.ClassID

where ClassName=@cname

go

8、创建存储过程P8,通过输入的教师姓名能够返回该老师的职称

create proc P8

@tname char(12),

@profession char(8) output

as

select @profession=Profession from Teacher where Teachername=@tname

9、创建存储过程P9,通过输入学生的学号与课程的课程号查询成绩

create proc P9

@sid char(12),

@cid char(8),

@grade numeric(5,2) output

as

select @grade=Grade from Grade where CourseID=@cid and StudentID=@sid

go

欢迎分享,转载请注明来源:内存溢出

原文地址: http://outofmemory.cn/sjk/991347.html

(0)
打赏 微信扫一扫 微信扫一扫 支付宝扫一扫 支付宝扫一扫
上一篇 2022-05-21
下一篇 2022-05-21

发表评论

登录后才能评论

评论列表(0条)

保存