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 - Цикл повторяется до тех пор, пока условие не станет ложным
- Завершение процедуры
ИИ поможет Вам:
- решить любую задачу по программированию
- объяснить код
- расставить комментарии в коде
- и т.д