前往小程序,Get更优阅读体验!
立即前往
首页
学习
活动
专区
工具
TVP
发布
社区首页 >专栏 >mysql存储过程----循环结构

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

作者头像
用户5899361
发布2020-12-07 15:38:46
4K0
发布2020-12-07 15:38:46
举报
文章被收录于专栏:学习java的小白
循环结构一共分为三种:

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

while循环

语法

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

事例

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

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

代码语言:javascript
复制
[别名:]loop
业务逻辑
end loop [别名]

使用leave退出loop循环语法

代码语言:javascript
复制
BEGIN	
	DECLARE num int DEFAULT 0;
        -- countnum为loop别名
		countnum: LOOP
			
			IF 表达式 THEN
			 LEAVE countnum;
			END IF;
		END LOOP countnum;
  select CONCAT(num);
END

事例:

代码语言:javascript
复制
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
本文参与 腾讯云自媒体同步曝光计划,分享自作者个人站点/博客。
如有侵权请联系 cloudcommunity@tencent.com 删除

本文分享自 作者个人站点/博客 前往查看

如有侵权,请联系 cloudcommunity@tencent.com 删除。

本文参与 腾讯云自媒体同步曝光计划  ,欢迎热爱写作的你一起参与!

评论
登录后参与评论
0 条评论
热度
最新
推荐阅读
目录
  • 循环结构一共分为三种:
  • while循环
    • repeat语法:
      • 事例:
        • loop语法:
        领券
        问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档