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 //现在,当我们调用此过程时,我们可以看到以下结果:
mysql> DELIMITER ; mysql> CALL LOOP_loop (); +-------------+ | XYZ | +-------------+ | 2,4,6,8,10, | +-------------+ 1 row in set (0.04 sec)
在上面的查询中,如果A的值大于10,则循环由于LEAVE语句而终止。如果A的值是一个奇数,则ITERATE语句将忽略它下面的所有内容并开始新的迭代。如果A的值为偶数,则ELSE语句中的块将使用偶数构建字符串。
热门推荐
10 对患者生日祝福语简短
11 结婚祝福语简短装备
12 周岁祝福语学生文案简短
13 订婚领证祝福语简短精辟
14 导师获奖祝福语大全简短
15 新婚购房祝福语简短精辟
16 牛年祝福语简短的爱人
17 送芒果的祝福语简短
18 送给学长毕业祝福语简短