循环在计算机语言中最常见也必须要掌握的知识点,Mysql中有一类循环是其特有的,即:REPEAT…UNTIL。
它的逻辑如何?如何使用?分享下本人经验。

方法/步骤
-
1
掌握语法格式:
REPEAT
statement_list
UNTIL search_condition END REPEAT;
具体逻辑见图:
-
2
确立循环目标:
此处以求1至n的和为业务目标,这要实现从1+2=3,3+3=6,6+4=10,……这样循环的业务目标,最后得到和。
-
3
先建一个存储过程把业务逻辑实现。
delimiter //
DROP PROCEDURE IF EXISTS p_sum;
CREATE PROCEDURE p_sum(in n int)
BEGIN
DECLARE i INT;
DECLARE sum INT;
SET i = 1;
SET sum = 0;
REPEAT
set sum = sum + i;
set i = i +1;
UNTIL i > n END REPEAT;
SELECT sum;
END
//
-
4
我们发现这个循环方式与while有一点不同,它先执行。
REPEAT
set sum = sum + i;
set i = i +1;
-
5
执行完了再判断是否有必要执行下一次的循环。
REPEAT
set sum = sum + i;
set i = i +1;
UNTIL i > n END REPEAT;
-
6
执行存储过程,验证效果是否符合预期。
call p_sum(10);
执行结果与我们计算1+2+3+……+10 =55相同。
END
文章评论