请告诉我这是怎么回事。它完全遵循5.5手册中的语法:
SET @RunID = 55;
REPEAT
SET @RunID = @RunID + 1;
UNTIL @RunID = 100
END REPEAT;
它总是告诉我在REPEAT中有语法错误。
我的疯狂猜测是,它可能与MySQL在Mac OS X上运行且我使用的客户端是Windows XP有关。行尾字符?
最佳答案
UNTIL
问题。我想您要运行循环UNTIL RunID已达到100,而不仅仅是RunID为100 ...
尝试这个:
delimiter //
CREATE PROCEDURE dorepeat2(p1 INT)
BEGIN
SET @RunID = p1;
REPEAT
SET @RunID = @RunID + 1;
SELECT @RunID;
UNTIL @RunID <= 100 END REPEAT;
END
//
CALL dorepeat2(55)//
关于mysql - 无法进行简单的MySQL REPEAT工作,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/29703325/