MySQL循环存储过程的写法创建 MySQL 存储过程的简单语法为:
CREATE PROCEDURE 存储过程名称( [in | out | inout] 参数 )
BEGIN
Mysql 语句
END
⼏个循环语句的格式如下:
WHILE……DO……END WHILE
REPEAT……UNTIL END REPEAT
LOOP……END LOOP
GOTO。
1.while 循环:
delimiter $$    // 定义结束符为 $$
drop procedure if exists wk; // 删除已有的存储过程
create procedure wk()      // 创建新的存储过程
begin
declare i int;          // 变量声明
set i = 1;     
while i < 11 do           // 循环体
insert into user_profile (uid) values (i);
set i = i +1;
end while;
end $$               // 结束定义语句
/
/ 调⽤
delimiter ;          // 先把结束符回复为;
call wk();
delimter : mysql 默认的 delimiter是; 告诉mysql解释器,该段命令是否已经结束了,mysql是否可以执⾏了。这⾥使⽤ delimiter 重定义结束符的作⽤是:不让存储过程中的语句在定义的时候输出。
2.REPEAT 循环:
mysql存储过程使用delimiter //
drop procedure if exists looppc;
create procedure looppc()
begin
declare i int;
set i = 1;
repeat
insert into user_profile_company (uid) values (i+1);
set i = i + 1;
until i >= 20
end repeat;
end //
---- 调⽤
call looppc()
3.LOOP 循环:
delimiter $$
drop procedure if exists lopp;
create procedure lopp()
begin
declare i int ;
set i = 1;
lp1 : LOOP              // lp1 为循环体名称 LOOP 为关键字insert into user_profile (uid) values (i); set i = i+1;
if i > 30 then
leave lp1;              // 离开循环体
end if;
end LOOP;              // 结束循环
end $$