MySQL存储过程与函数篇,使用循环语句

2025-11-23 09:51:02

1、用于重复执行某些语句,直到使用LEAVE语句跳出循环

语句结构

[loop标注]:LOOP

    执行语句

END LOOP [loop标注]

MySQL存储过程与函数篇,使用循环语句

2、创建存储过程示例

CREATE PROCEDURE testloop(OUT outvalue INT(11))

BEGIN

    DECLARE i int(11);

    SET i = 0;

    myLoop:LOOP

        SET i = i+1;

        IF i > 10 THEN

            LEAVE myLoop;

        END IF;

    END LOOP myLoop;

    set outvalue = i;

END

MySQL存储过程与函数篇,使用循环语句

3、调用存储过程

CALL testloop(@out1);

SELECT @out1;

MySQL存储过程与函数篇,使用循环语句

1、再次循环,将执行顺序转到语句开头处,只能用于LOOP,REPEAT和WHILE语句内。(类似于其他代码语言的continue)

语句结构

ITERATE [loop标注]

MySQL存储过程与函数篇,使用循环语句

2、创建存储过程示例

CREATE PROCEDURE testloop2(OUT outvalue int(11))

BEGIN

    DECLARE i int(11);

    SET i = 0;

    myLoop:LOOP

        SET i = i+1;

        IF i < 10 THEN ITERATE myLoop;

        ELSEIF i > 20 THEN LEAVE myLoop;

        END IF;

        SELECT 'i在10到20之间';

    END LOOP myLoop;

    SET outvalue = i;

END

MySQL存储过程与函数篇,使用循环语句

3、调用存储过程

CALL testloop2();

SELECT @out1;

MySQL存储过程与函数篇,使用循环语句

1、创建一个带条件判断的循环过程,每次语句执行完毕后,会对条件表达式进行判断,如果表达式为真,则结束循环。

语句结构

[REPEAT标注]:REPEAT

    执行语句

UNTIL 条件表达式

END REPEAT [REPEAT标注]

MySQL存储过程与函数篇,使用循环语句

2、创建存储过程示例

CREATE PROCEDURE testRepeat(OUT outvalue int(11))

BEGIN

    DECLARE i int(11) DEFAULT 0;

    myRepeat:REPEAT

        set i = i+2;

    UNTIL i > 10

    END REPEAT myRepeat;

    SET outvalue = i;

END

MySQL存储过程与函数篇,使用循环语句

3、调用存储过程

CALL testRepeat(@out1);

SELECT @out1;

MySQL存储过程与函数篇,使用循环语句

1、[WHILE标注]:WHILE 条件表达式 DO

    执行语句

UNTIL 条件表达式

END REPEAT [REPEAT标注]

MySQL存储过程与函数篇,使用循环语句

2、创建存储过程示例

CREATE PROCEDURE testWhile(OUT outvalue int(11))

BEGIN

    DECLARE i int(11) DEFAULT 10;

    myWhile:WHILE i < 10 DO

        set i = i+2;

    END WHILE myWhile;

    SET outvalue = i;

END

MySQL存储过程与函数篇,使用循环语句

3、调用存储过程

CALL testWhile(@out1);

SELECT @out1;

MySQL存储过程与函数篇,使用循环语句

声明:本网站引用、摘录或转载内容仅供网站访问者交流或参考,不代表本站立场,如存在版权或非法内容,请联系站长删除,联系邮箱:site.kefu@qq.com。
猜你喜欢