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

WBOY
WBOY 转载
2023-08-26 19:13:10 776浏览

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语句如何在存储过程中使用?的详细内容,更多请关注php中文网其它相关文章!

声明:本文转载于:tutorialspoint,如有侵犯,请联系admin@php.cn删除