编写一个存储过程,名字自拟,有两个输入参数:学号和课程号,一个输出参数:分数。要求该存储过程接收学号和课程号的参数后,能修改成绩表中对应学号和课程号行的分数减掉5分,并把该修改过的分数外传、显示出来
时间: 2024-03-28 19:39:35 浏览: 48
(存储过程的参数输入输出问题)
好的,我来帮您编写这个存储过程。这里我给它取名为`update_score`。
```mysql
DELIMITER $$
CREATE PROCEDURE update_score(
IN student_id INT,
IN course_id INT,
OUT updated_score INT
)
BEGIN
UPDATE score
SET score = score - 5
WHERE student_id = student_id AND course_id = course_id;
SELECT score INTO updated_score
FROM score
WHERE student_id = student_id AND course_id = course_id;
END$$
DELIMITER ;
```
这个存储过程有两个输入参数`student_id`和`course_id`,一个输出参数`updated_score`。它会根据输入的`student_id`和`course_id`来更新成绩表中对应行的分数减去5分,然后将修改后的分数赋值给`updated_score`,并输出。
阅读全文