mysql存储过程----循环结构

循环结构一共分为三种:

三种循环结构分别为while、repeat、loop。

while循环

语法

while 表达式(如果表达式为true则执行业务逻辑,否则不执行,与repeat循环相反,repeat循环满足表达式退出循环,不满足一直执行) do
 业务逻辑
end while;

事例

BEGIN	
	DECLARE num int DEFAULT 0;
	WHILE num<100 DO
	SET num=num+1;
  END WHILE;
  select CONCAT(num);
END
repeat语法:
REPEAT
  业务逻辑
  UNTIL 表达式(满足表达式退出循环,不满足一直执行。和while相反,while循环满足表达式循环,不满足跳出循环)
END REPEAT
事例:
BEGIN	
	DECLARE num int DEFAULT 0;
		 REPEAT
			SET num=num+1;
	   UNTIL num=100
     END REPEAT;
  select CONCAT(num);
END
loop语法:

注意:必须在loop的业务逻辑中定义退出循环的的语句,否则出现死循环。可以使用leave关键字退出循环。

[别名:]loop
业务逻辑
end loop [别名]

使用leave退出loop循环语法

BEGIN	
	DECLARE num int DEFAULT 0;
        -- countnum为loop别名
		countnum: LOOP
			
			IF 表达式 THEN
			 LEAVE countnum;
			END IF;
		END LOOP countnum;
  select CONCAT(num);
END

事例:

BEGIN	
	DECLARE num int DEFAULT 0;
		countnum: LOOP
			SET num=num+1;
			IF num=50 THEN
			 LEAVE countnum;
			END IF;
		END LOOP countnum;
  select CONCAT(num);
END

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 打赏
    打赏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

半夜燃烧的香烟

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值