Мне нужна процедура, которая проверяет, является ли число простым.Синтаксис выглядит нормально, но выдается следующая ошибка:
Запрос: CREATE PROCEDURE prime_number (IN n INT) BEGIN SET @prime = "Простое число";SET @n_prime = "Не простое число";SET @divider = ...
Код ошибки: 1064
У вас есть ошибка в синтаксисе SQL;проверьте руководство, соответствующее вашей версии сервера MySQL, чтобы найти правильный синтаксис для использования рядом с '' в строке 28
Вот мой код:
DELIMITER $
CREATE PROCEDURE prime_number(IN n INT)
BEGIN
SET @prime = "Prime number";
SET @n_prime = "Not prime number";
SET @divider = 0;
SET @i = 5;
IF n % 2 = 0 THEN
SELECT @n_prime;
ELSEIF (n < 2) OR ((n % 3) = 0) THEN /* Was using ELSE IF, separatedly*/
SELECT @n_prime;
ELSE
SET @root = SQRT(n);
WHILE @i <= @root && @divider = 0 DO
IF (n % @i) = 0 THEN
SET @divider = 1;
END IF;
SET @i = @i + 1;
END WHILE;
IF @divider = 1 THEN SELECT @n_prime;
ELSE SELECT @prime;
END IF;
END IF; /*Line 28*/
END $
DELIMITER ;
Любые идеи, почему этопроисходит?