LEAVE 语句
它允许我们立即退出循环而无需等待检查
迭代语句
它允许我们跳过其下的整个代码并开始新的迭代。
演示使用带有存储过程的LOOP语句,以下是一个存储过程,它构造一个带有偶数的字符串,如2、4、6、8等。 -
mysql> Delimiter //
mysql> CREATE PROCEDURE LOOP_loop()
-> BEGIN
-> DECLARE A INT;
-> DECLARE XYZ VARCHAR(255);
-> SET A = 1;
-> SET XYZ = '';
-> loop_label: LOOP
-> IF A > 10 THEN
-> LEAVE loop_label;
-> END IF;
-> SET A = A + 1;
-> IF (A mod 2) THEN
-> ITERATE loop_label;
-> ELSE
-> SET XYZ = CONCAT(XYZ,A,',');
-> END IF;
-> END LOOP;
-> SELECT XYZ;
-> END //
Query OK, 0 rows affected (0.07 sec)
登录后复制
现在,当我们调用这个过程时,我们可以看到下面的结果 -
mysql> DELIMITER ;
mysql> CALL LOOP_loop ();
+-------------+
| XYZ |
+-------------+
| 2,4,6,8,10, |
+-------------+
1 row in set (0.04 sec)
Query OK, 0 rows affected (0.04 sec)
登录后复制
在上面的查询中,如果 A 的值大于 10,则循环由于 LEAVE 语句而终止。如果 A 的值为奇数,则 ITERATE 语句将忽略其下方的所有内容并开始新的迭代。如果 A 的值为偶数,则 ELSE 语句中的块将使用偶数构建字符串。
以上就是MySQL LOOP语句如何在存储过程中使用?的详细内容,更多请关注每日运维网(www.mryunwei.com)其它相关文章!