数据库-创建存储过程(成绩查询,选课,选课查询,不同级别的乘法口诀)

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

在这里插入图片描述

  • 23
    点赞
  • 118
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值