1、掌握语法格式:REPEAT statement_listUNTIL 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相同。