在mysql中怎样设计一个存储过程,根据"学号"返回成绩表中平均成绩在60分以上的学生的学分

在mysql中怎样设计一个存储过程,根据"学号"返回成绩表中平均成绩在60分以上的学生的学分,第1张

drop procedure if exists type

delimiter $

create procedure type(

in shuruxuehao VARCHAR(20),

out shuchuxuefen int(11)

)

BEGIN

set shuchuxuefen = 0

set @num = 0

set @xuefen = 0

select sum(chengji1 +chengji2 + ... + chengjiN )/ n as num,xuefen into

@num, @xuefen from table where xuehao = shuruxuehao/*chengji 是各科成绩的字段*/

if num >=60 then

set shuchuxuefen = @xuefen

else

set shuchuxuefen = 0

end if

END

$

delimiter

存储过程(Stored

Procedure)是一组为了完成特定功能的SQL语句集功能是将常用或复杂的工作,预先用SQL语句写好并用一个指定名称存储起来,

以后需要数据库提供与已定义好的存储过程的功能相同的服务时,只需调用

call

存储过程名字,

即可自动完成命令。存储过程是由流控制和SQL语句书写的过程,这个过程经编译和优化后存储在数据库服务器中,可由应用程序通过一个调用来执行,而且允许用户声明变量

。同时,存储过程可以接收和输出参数、返回执行存储过程的状态值,也可以嵌套调用。

1.商品编号(主键),商品名称,单价,数量,单位

2.流水号(主键),交易时间, [客户信息等其他可能的可以由流水号确定属性]

3.ID(主键,可以是自增int或其他根据需要) , 流水号(外键) , 商品编号 (外键) , [本次交易数量 等其他可以由流水号,商品编号 确定的属性]


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

原文地址: https://outofmemory.cn/zaji/8698723.html

(0)
打赏 微信扫一扫 微信扫一扫 支付宝扫一扫 支付宝扫一扫
上一篇 2023-04-20
下一篇 2023-04-20

发表评论

登录后才能评论

评论列表(0条)

保存