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 $$
版权声明:本站内容均来自互联网,仅供演示用,请勿用于商业和其他非法用途。如果侵犯了您的权益请与我们联系QQ:729038198,我们将在24小时内删除。
发表评论