Синтаксическая ошибка для объявления переменной mysql
CREATE PROCEDURE dorepeat(IN p1 INT)
BEGIN
DECLARE x INT DEFAULT 0;
REPEAT SET x = x + 1; UNTIL x > p1 END REPEAT;
END
Я получаю синтаксическую ошибку:
#1064 - You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for > the right syntax to use near '' at line 3
Но для меня все кажется правильным. У меня действительно нет никакой подсказки! может кто-нибудь помочь?
спасибо
Ответы
Ответ 1
Вам нужно временно изменить разделитель, чтобы клиент MySQL не думал, что вы закончили с вашим выражением, когда он видит точку с запятой в строке 3:
DELIMITER //
CREATE PROCEDURE dorepeat(IN p1 INT)
BEGIN
DECLARE x INT DEFAULT 0;
REPEAT SET x = x + 1; UNTIL x > p1 END REPEAT;
END//
DELIMITER ;
Ответ 2
Удалите DECLARE, вы должны просто сделать это:
SET @x = 0;
Кроме того, переменные должны иметь префикс с символом @