写一个存储过程实现学生成绩查询功能,数据存储在成绩表(含学号、姓名、课程号、课程名、成绩)之中,要求依据学生姓名和课程名称进行查询。若未检索到记录,打印“未检索到(**学生名)选修(**课程名)课程的记录。”;否则打印“(**学生名)选修(**课程名)课程的成绩是(具体成绩)分。”
时间: 2023-07-24 11:28:17 浏览: 81
学习成绩管理系统2.0.zip
好的,以下是存储过程的示例代码:
```
CREATE PROCEDURE `get_grade`(IN stu_name VARCHAR(50), IN course_name VARCHAR(50))
BEGIN
DECLARE grade DECIMAL(5,2);
SELECT 成绩 INTO grade FROM 成绩表 WHERE 姓名=stu_name AND 课程名=course_name;
IF grade IS NULL THEN
SELECT CONCAT('未检索到', stu_name, '选修', course_name, '课程的记录。') AS result;
ELSE
SELECT CONCAT(stu_name, '选修', course_name, '课程的成绩是', grade, '分。') AS result;
END IF;
END
```
这个存储过程接受两个参数:学生姓名和课程名称。它会在成绩表中查找对应的成绩记录,并将结果存储在变量 `grade` 中。如果未检索到记录,则返回提示信息;否则返回具体成绩。你可以将此代码复制到 MySQL 控制台中执行,或在你的应用程序中使用相应的 API 调用该存储过程。
阅读全文