выбрать из временной таблицы после вызова в MySQL процедуры - PullRequest
0 голосов
/ 03 января 2019

Я пытаюсь создать многоразовую процедуру mysql, которая берет данные из таблиц соединения и сохраняет их во временной таблице.Затем я создам различные процедуры для выбора / расчета данных из результата.Вот мой SQL-код:

DELIMITER //
CREATE PROCEDURE getModulesForCourseYear(IN cid VARCHAR(10), IN yr INT(1))
CALL getModulesInCourse(cid);
SELECT * FROM modules WHERE year = yr;//
DELIMITER ;

Процедура getModulesInCourse создает временную таблицу с именем modules

После вызова getModulesInCourse в процедуре getModulesForCourseYear, яЗатем хотел бы отфильтровать этот результат.Вот где это терпит неудачу.

Я предполагаю, что это происходит, потому что mysql не знает, что такое таблица modules, поскольку она в настоящее время не существует.

Как я мог бы выбрать извременная таблица в этой процедуре?

Я делаю это в PHPMyAdmin, который выдает эту ошибку:

SQL query:


CREATE PROCEDURE getModulesForCourseYear(IN cid VARCHAR(10), IN yr INT(1))
CALL getModulesInCourse(cid);
SELECT * FROM modules WHERE year = yr;
MySQL said:

#1064 - You have an error in your SQL syntax; check the manual that corresponds to your MariaDB server version for the right syntax to use near 'SELECT * FROM modules WHERE year = yr' at line 3

ПРИМЕЧАНИЕ: я делаю процедуру таким образом, поскольку я хочу выбрать те же исходные данныев несколько процедур, то я буду фильтровать его.Таким образом, он предотвращает дублирование кода, и если мне понадобится изменить его позже, я могу сделать это один раз.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...