mysql-循环(while 、repeat、loop)

--while

DELIMITER $$
CREATE PROCEDURE p7(IN n INT)
BEGIN
DECLARE total INT DEFAULT 0;
WHILE n>0 DO
SET total:=total+n;
SET n:=n-1;
END WHILE;
SELECT total;
END$$
CALL p7(2)

--repeat

DROP PROCEDURE IF EXISTS p8
DELIMITER $$
CREATE PROCEDURE p8(IN n INT)
BEGIN
DECLARE total INT DEFAULT 0;
REPEAT
SET total:=total+n;
SET n:=n-1 ;
UNTIL n<0
END REPEAT;
SELECT total;
END$$
CALL p8(4)

--loop
计算从1累加到n的值,n为传入的参数
计算1到n之间偶数累加的值,n为传入的参数
DROP PROCEDURE IF EXISTS p9
DELIMITER $$
CREATE PROCEDURE p9(IN n INT)
BEGIN
DECLARE total INT DEFAULT 0;
SUM:LOOP
IF n<=0 THEN
LEAVE SUM;
END IF;

IF n%2=1 THEN
SET n:=n-1;
ITERATE SUM;
END IF;
SET total:=total+n;
SET n:=n-1;
SELECT n;
END LOOP SUM;
SELECT total;
END$$
CALL p9(4)

posted @   2024-DBA  阅读(172)  评论(0编辑  收藏  举报
相关博文:
阅读排行:
· 无需6万激活码!GitHub神秘组织3小时极速复刻Manus,手把手教你使用OpenManus搭建本
· C#/.NET/.NET Core优秀项目和框架2025年2月简报
· Manus爆火,是硬核还是营销?
· 终于写完轮子一部分:tcp代理 了,记录一下
· 【杭电多校比赛记录】2025“钉耙编程”中国大学生算法设计春季联赛(1)
点击右上角即可分享
微信分享提示