MySQL学习笔记:repeat、loop循环

一、repeat循环

# ---- repeat ----
DELIMITER $$
CREATE PROCEDURE test_repeat()
BEGIN
    DECLARE a INT DEFAULT 10;
    REPEAT
        SET a = a - 1;
        UNTIL a < 5
    END REPEAT;
    
    SELECT a;
END $$
DELIMITER ;

# 调用
CALL test_repeat();

# 删除
DROP PROCEDURE test_repeat;

  注意使用repeat的时候,在判断条件(until条件)的那一行句末不加分号,这个很容易出错!

二、loop循环

# ---- loop ----
DELIMITER $$
CREATE PROCEDURE test_loop()
BEGIN
    DECLARE t INT DEFAULT 0;
    label:LOOP
        SET t = t + 1;
        IF t > 10 THEN LEAVE label;
        END IF;
    END LOOP label;
    
    SELECT t;
END $$
DELIMITER ;

# 调用
CALL test_loop();

# 删除
DROP PROCEDURE test_loop;

  注意 loop 一般要和一个标签(此处为label,名称可以自定义,不过要保证前后一致)一起使用,且在 loop 循环中一定要有一个判断条件,能够满足在一定的条件下跳出 loop 循环(即 leave )!


END 2018-05-22 13:15:09

原文地址:https://www.cnblogs.com/hider/p/9071561.html