MySQL LOOP语句如何在存储过程中使用?

MySQL LOOP语句如何在存储过程中使用?

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)其它相关文章!

上一篇 如何在MySQL中获取上个月的第一天?
下一篇 我们如何找到作为记录存储在MySQL表列中的字符串的索引位置?
竹子爱熊猫

竹子爱熊猫

这个人很懒,什么都没有留下~

本月创作热力图