You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

MySQL中创建带INOUT参数的存储过程计算学生总成绩

创建获取学生总成绩的存储过程

需求说明

需要实现一个带单个INOUT参数的存储过程:传入学生学号后,该参数会被赋值为对应学生的总成绩(由quiz和exam成绩相加得到)。

存储过程代码

DELIMITER //
CREATE PROCEDURE GetStudentTotalScore(INOUT p_stu_no INT)
BEGIN
    -- 通过传入的学号查询总成绩,并将结果赋值给INOUT参数
    SELECT quiz + exam INTO p_stu_no
    FROM course
    WHERE stu_no = p_stu_no;
END //
DELIMITER ;

调用示例

-- 定义变量,初始值为目标学生学号,后续用来接收总成绩
SET @target_stu = 1127;
-- 调用存储过程
CALL GetStudentTotalScore(@target_stu);
-- 查看最终结果(此时@target_stu的值已更新为该学生的总成绩)
SELECT @target_stu AS total_score;

补充说明

  • 总成绩计算逻辑采用quiz + exam,如果后续表中新增其他成绩字段,可调整为SUM(quiz + exam + ...)这类符合需求的求和逻辑。
  • 若传入的学号不存在,INOUT参数会被赋值为NULL,可根据实际需求添加判断逻辑处理该场景。

内容的提问来源于stack exchange,提问作者Connor Whitaker

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.07.07 19:02:32