多语言展示
当前在线:458今日阅读:103今日分享:49

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

MySQL流程控制语句是用来控制语句的执行,构造控制流程的语句有:IF语句,CASE语句,LOOP语句,LEAVE语句、ITERATE语句、REPEAT语句和WHILE语句,本文主要给大家讲解流程控制语句中的循环语句
工具/原料
1

电脑

2

MySQL

3

Navicat等数据库可视化管理软件

LOOP语句
1

用于重复执行某些语句,直到使用LEAVE语句跳出循环语句结构[loop标注]:LOOP    执行语句END LOOP [loop标注]

3

调用存储过程CALL testloop(@out1);SELECT @out1;

ITERATE语句
1

再次循环,将执行顺序转到语句开头处,只能用于LOOP,REPEAT和WHILE语句内。(类似于其他代码语言的continue)语句结构ITERATE [loop标注]

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

3

调用存储过程CALL testloop2();SELECT @out1;

REPEAT语句(先执行再判断)
1

创建一个带条件判断的循环过程,每次语句执行完毕后,会对条件表达式进行判断,如果表达式为真,则结束循环。语句结构[REPEAT标注]:REPEAT    执行语句UNTIL 条件表达式END REPEAT [REPEAT标注]

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

3

调用存储过程CALL testRepeat(@out1);SELECT @out1;

WHILE语句(先判断再执行)
1

[WHILE标注]:WHILE 条件表达式 DO    执行语句UNTIL 条件表达式END REPEAT [REPEAT标注]

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

3

调用存储过程CALL testWhile(@out1);SELECT @out1;

注意事项

注意要设定好循环条件

推荐信息