一、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
