1、创建存储过程P_成绩查询 ,输入某个同学的学号,可以查询该同学的学号、姓名、课程名、分数
create procedure p_成绩查询 @sno char(9)
as
select s.学号,姓名,课程名,分数 from 学生表 s ,课程表 c ,成绩表 sc
where s.学号 = sc.学号 and c.ID = sc.课程ID and s.学号 = @sno
execute p_成绩查询 '151011029'
2、创建存储过程P_选课 ,通过 学号和课程名向成绩表中插入一条你自己所选的一门课程记录,并提示成功与否。
create procedure p_选课 @sno char(9), @course varchar(50)
as
begin
declare @cid int
set @cid =(select ID from 课程表 where 课程名 = @course)
insert into 成绩表(学号,课程ID) values (@sno,@cid)
end
p_选课'151011029','离散数学'
3、创建存储过程P_选课查询,还是通过学号和课程名再把第2题插入的这条记录查询出来,查询结果中需有学号,姓名和课程名。
create procedure p_选课查询 @sno char(9), @course varchar(50)
as
select sc.学号,姓名,课程名 from 学生表 s,课程表 c,成绩表 sc
where s.学号 = sc.学号 and c.ID = sc.课程ID and sc.学号 = @sno and 课程名 = @course and 分数 = '0'
p_选课查询'151011029','离散数学
4、创建存储过程P_乘法口诀 ,分别输入参数5、7、9、11可以得到不同级别的乘法口诀表。
create procedure p_乘法口诀 @a int ,@b int ,@c int ,@d int
as
declare @j int,@str varchar(max)
begin
set @j=1
set @str=''
while @j<=@a
begin
set @str=@str+convert(char(2),@j)+'*'+convert(char(2),@a)+'='+convert(char(3),@a*@j)+' '
set @j=@j+1
end
print(@str)
while @j<=@b
begin
set @str=@str+convert(char(2),@j)+'*'+convert(char(2),@b)+'='+convert(char(3),@b*@j)+' '
set @j=@j+1
end
print(@str)
while @j<=@c
begin
set @str=@str+convert(char(2),@j)+'*'+convert(char(2),@c)+'='+convert(char(3),@c*@j)+' '
set @j=@j+1
end
print(@str)
while @j<=@d
begin
set @str=@str+convert(char(2),@j)+'*'+convert(char(2),@d)+'='+convert(char(3),@d*@j)+' '
set @j=@j+1
end
print(@str)
end
p_乘法口诀 5,7,9,11