循环语句有while,repeat,loop 3种实现方式,可参见循环 | MySQL 入门教程
本文以while为例,对一些细节进行注释:
需要先创建PROCEDURE,再调用PROCEDURE,如下:
DROP PROCEDURE IF EXISTS test_mysql_while_loop -- 删除PROCEDURE,注意此处名称后不带()
DELIMITER $$ --设置$$为语句分隔符(用来使整个创建过程语句作为一个整体),注意DELIMITER后面要有空格
CREATE PROCEDURE test_mysql_while_loop() -- 开始创建PROCEDURE, 注意此处名称后带()
BEGIN
DECLARE x INT;
DECLARE str VARCHAR(255);
SET x = 1;
SET str = '';
WHILE x <= 5 DO
SET str = CONCAT(str,x,',');
SET x = x + 1;
END WHILE;
SELECT str;
END$$ -- 以$$结束,即PROCEDURE创建完成
DELIMITER ; -- 恢复设置;为语句分隔符
CALL test_mysql_while_loop(); -- 调用PROCEDURE,注意此处名称后有()
查看PROCEDURE是否创建成功:
show PROCEDURE status