CREATE PROCEDURE - error 1064 - MySQL
Формулировка задачи:
ВСЕМ ПРИВЕТ, ПОДСКАЖИТЕ ПОЖАЛУЙСТА ПОЧЕМУ НЕ РАБОТАЕТ ?7
Я УЖЕ ПОВСЯКОМУ ПЕРЕПРОБЫВАЛ
то же самое
выдает #1064 - У вас ошибка в запросе. Изучите документацию по используемой версии MySQL на предмет корректного синтаксиса около '' на строке 3
пишу запрос в разделе SQL В PHPMYADMIN
CREATE PROCEDURE dowhile(maxi INT) BEGIN SET @i = 0 WHILE @i<maxi DO SELECT F_STUDENT, F_FACULTET FROM Main WHERE F_FACULTET = (1 OR 2 OR 3) AND F_STUDENT = @i; SET @i = @i+1; END WHILE; END CALL dowhile(5);
CREATE PROCEDURE dowhile() BEGIN DECLARE i INT DEFAULT 0; WHILE i<4 DO SELECT F_STUDENT, F_FACULTET FROM Main; WHERE F_FACULTET = (1 OR 2 OR 3) AND F_STUDENT = i; SET i = i+1; END WHILE; END CALL dowhile(5);
вообщем я хочу добиться выполнения этого куска когда через цикл
SELECT F_STUDENT, F_FACULTET FROM Main WHERE F_FACULTET = (1 OR 2 OR 3) AND F_STUDENT = i;
Решение задачи: «CREATE PROCEDURE - error 1064»
textual
Листинг программы
DELIMITER $$ CREATE PROCEDURE dowhile(maxi INT) BEGIN SET @i = 0; WHILE @i < maxi DO SELECT F_STUDENT, F_FACULTET FROM Main WHERE F_FACULTET = (1 OR 2 OR 3) AND F_STUDENT = @i; SET @i = @i+1; END WHILE; END$$ DELIMITER ;
Объяснение кода листинга программы
- Создание процедуры с именем
dowhile
- Установка переменной
@i
равной 0 - В цикле WHILE с условием
@i
меньшеmaxi
выполняются следующие действия: - Выполняется запрос SELECT к таблице
Main
с условием, что значение столбцаF_FACULTET
равно 1, 2 или 3 и значение столбцаF_STUDENT
равно текущему значению переменной@i
- Значение переменной
@i
увеличивается на 1 - Цикл повторяется до тех пор, пока условие не станет ложным
- Завершение процедуры
ИИ поможет Вам:
- решить любую задачу по программированию
- объяснить код
- расставить комментарии в коде
- и т.д