目录
一、要求
1.创建一个存储过程 Proc_Course,查看“0108”号课程的选修情况,包括学生学号、姓名和成绩,然后执行该过程
2.创建一个存储过程 Proc_SC1,通过学生学号来查询学生选修情况,默认查询学号为 “00001”的选修情况,包括学生学号、姓名和成绩。
3.修改并调用上面的存储过程,求出学号为“000503003” 的学生不及格的选修情况。
4.编写存储过程 Proc_jiecheng,求 n!。并执行此存储过程,求 5!
5.删除存储过程 Proc_jiecheng
一、要求
1.创建一个存储过程 Proc_Course,查看“0108”号课程的选修情况,包括学生学号、姓名和成绩,然后执行该过程
use school
go
create procedure proc_course
as
select student.stu_id, stu_name, gradefrom student join studentgrade on student.stu_id = studentgrade.stu_idwhere course_id = '0108'
exec proc_course
2.创建一个存储过程 Proc_SC1,通过学生学号来查询学生选修情况,默认查询学号为 “00001”的选修情况,包括学生学号、姓名和成绩。
use school
go
create proc proc_sc1
@sno varchar(9) = '000001'
asselect student.stu_id, stu_name, gradefrom student join studentgrade on student.stu_id = studentgrade.stu_idwhere student.stu_id = @sno
exec proc_sc1 @sno = '000503001'
3.修改并调用上面的存储过程,求出学号为“000503003” 的学生不及格的选修情况。
use school
go
alter proc proc_sc1
@sno varchar(9) = '000001',
--注意:当变量有默认值时,不能用 declare 声明变量。
@markpass int
asselect student.stu_id, stu_name, gradefrom student join studentgrade on student.stu_id = studentgrade.stu_idwhere student.stu_id = @sno and grade < @markpass
exec proc_sc1 @sno='000503003', @markpass = 60
4.编写存储过程 Proc_jiecheng,求 n!。并执行此存储过程,求 5!
create proc proc_jiecheng@n int
--此处声明的为输入输出参数
as
declare @i int
--此处声明的为存储过程内部使用的变量
declare @sum bigintset @i = 1set @sum = 1
while @i <= @nbeginset @sum = @sum * @iset @i = @i + 1
end
print @sum
exec proc_jiecheng @n = 5
5.删除存储过程 Proc_jiecheng
drop proc proc_jiecheng