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
但对我来说,一切似乎都是正确的。我真的没有任何线索!有人可以帮忙吗?
感谢
答案 0 :(得分:46)
您需要暂时change the delimiter,以便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 ;
答案 1 :(得分:-3)
删除DECLARE,你应该可以这样做:
SET @x = 0;
此外,变量需要以@符号
作为前缀