Возвращаемое значение в SQL процедуре
У меня есть процедура, которая должна вернуть заголовок, и оценку
CREATE PROCEDURE `avg_procedure`(IN first_name VARCHAR(150), OUT title VARCHAR(150), OUT mark DOUBLE)
BEGIN
SELECT title, avg(mark) mark FROM student_marks sm
JOIN student s ON sm.student_id = s.id
JOIN subject sub ON sub.id = sm.subject_id
WHERE s.first_name = first_name group by title;
END
Но почему-то у меня out параметры всегда 0, хотя сам запрос возвращает нужные значения
Ответы (1 шт):
Автор решения: Akina
→ Ссылка
CREATE PROCEDURE avg_procedure (IN first_name VARCHAR(150),
OUT title VARCHAR(150),
OUT mark DOUBLE)
SELECT title, avg(mark)
INTO title, mark -- Отправить результаты в OUT-переменные
FROM student_marks sm
JOIN student s ON sm.student_id = s.id
JOIN subject sub ON sub.id = sm.subject_id
WHERE s.first_name = first_name
GROUP BY title;