【发布时间】:2016-09-27 02:37:10
【问题描述】:
我想在 MySql 中使用 IF 语句创建一个过程,当我将学生的 id 作为 IN 参数时,它可以让我显示所有平均高于 70 的学生的姓名。
是否可以一次提供多个学生 ID 并使用 CALL 和 SELECT 访问更多结果?
学生桌:
id、姓名、专业、平均、状态
'33', '维拉紫罗兰', NULL, '92', 'UNCL'
'94'、'Pat Pink'、'POLS'、'93'、'UNCL'
'101'、'Bob Blue'、'ECON'、'73'、'UNCL'
'102'、'怀亚特怀特'、'GEOG'、'64'、'UNGR'
'302'、'Yolanda Yellow'、'HIST'、'64'、'UNGR'
'403','布莱恩布莱克', “经济”、“87”、“研究生”
'576'、'Ruby Rose'、'ECON'、'77'、'UNCL'
“992”、“格雷格·格林”、“通讯”、“86”、“毕业”
这是我尝试过的:(但没有奏效)
DELIMITER $$
CREATE PROCEDURE sort_Students_By_Avg( IN student_Id INT(11), OUT student_Name VARCHAR(20))
BEGIN
DECLARE student_Avg INT(11);
SELECT avg INTO student_Avg
FROM student
WHERE id=student_Id;
IF (student_Avg > 70)
THEN SET student_Name = student.name;
END IF;
END $$
【问题讨论】:
标签: mysql sql stored-procedures procedure