SQL 过程中的 REPEAT 语句
REPEAT 语句定义在 REPEAT 循环结束时条件求值为 true 之前执行的一组语句。
REPEAT 循环条件是在每次循环迭代完成时求值的。
对于 WHILE 语句,如果 WHILE 循环条件在第 1 轮求值为 false,那么不会进入循环。REPEAT 语句也可替代使用;但是,不值得将 WHILE 循环逻辑重写为 REPEAT 语句。
以下是包括 REPEAT 语句的 SQL 过程:
CREATE PROCEDURE sum_mn2 (IN p_start INT
,IN p_end INT
,OUT p_sum INT)
SPECIFIC sum_mn2
LANGUAGE SQL
smn2: BEGIN
DECLARE v_temp INTEGER DEFAULT 0;
DECLARE v_current INTEGER;
SET v_current = p_start;
REPEAT
SET v_temp = v_temp + v_current;
SET v_current = v_current + 1;
UNTIL (v_current > p_end)
END REPEAT;
END