官方英文文档:
http://dev.mysql.com/doc/refman/5.0/en/flow-control-statements.html
************************** LOOP **************************
语法:
[begin_label:] LOOP
statement_list
END LOOP [end_label]
实例:
DELIMITER$$
CREATE PROCEDURE pro_loop(p1 INT)
BEGIN
label1: LOOP
SET p1 = p1 + 1;
IF p1 < 10 THEN
SELECT p1 AS result;
ITERATE label1;
END IF;
SELECT 'END IF' AS result;
LEAVE label1;
END LOOP label1;
SET @x = p1;
SELECT @x as result;
END$$
调用:
call pro_loop(8);
输出: 9 , END IF , 10;
说明:
ITERATE label1 : 继续循环label1
LEAVE label1 : 退出label1循环
注: 当把打印代码放到ITERATE , LEAVE 后,不能输出;
************************** WHILE **************************
语法:
[begin_label:] WHILE search_condition DO
statement_list
END WHILE [end_label]
实例:
DELIMITER$$
DROP PROCEDURE IF EXISTS pro_while$$
CREATE PROCEDURE pro_while
(
i INT
)
BEGIN
DECLARE j INT DEFAULT 1;
WHILE j < i DO
SELECT j AS result;
SET j = j + 1;
END WHILE;
END$$
调用:call pro_while(3);
输出:1 , 2
************************** REPEAT **************************
语法:
[begin_label:] REPEAT
statement_list
UNTIL search_condition
END REPEAT [end_label]
实例:
DELIMITER$$
DROP PROCEDURE IF EXISTS pro_repeat$$
CREATE PROCEDURE pro_repeat(p1 INT)
BEGIN
SET @X = 0;
REPEAT
SELECT @X AS result;
SET @X = @X + 1;
UNTIL @X > p1 END REPEAT;
END$$
调用:call pro_repeat(2);
输出:0 , 1 , 2
说明: 先循环一次,再判断,直到@X > p1 就结束循环
分享到:
相关推荐
Mysql游标(循环操作)
mysql 操作同样有循环语句操作,网上说有3中标准的循环方式: while 循环 、 loop 循环和repeat循环。还有一种非标准的循环: goto。 鉴于goto 语句的跳跃性会造成使用的的思维混乱,所以不建议使用。 这几个循环...
本文实例讲述了mysql存储过程之循环语句(WHILE,REPEAT和LOOP)用法。分享给大家供大家参考,具体如下: MySQL提供循环语句,允许我们根据条件重复执行一个SQL代码块其中有三个循环语句:WHILE,REPEAT和LOOP,我们...
流程控制语句WHILE循环语句 课程目标 1)理解 —— WHILE循环语句的语法规则 2)掌握 —— WHILE循环语句的使用方法 WHILE循环语句 MySQL支持3条用来创建循环的语句:WHILE、REPEAT和LOOP语句。 WHILE语句语法格式为...
主要介绍了MySQL存储过程中使用WHILE循环语句的方法,实例分析了在MySQL中循环语句的使用技巧,具有一定参考借鉴价值,需要的朋友可以参考下
kettle的mysql批量导出建表语句,可以快捷循环换导出mysql建表语句,可以下载下来学习参考
主要介绍了MySQL与Oracle 差异比较之四条件循环语句,需要的朋友可以参考下
这是我学习mysql时顺便整理的sql语句,从创建表,修饰表到增删改查、视图、存储过程、触发器、索引、函数、常用的循环、判断。
Mysql存储过程常用语句模板(含变量,if,三种循环等等) Mysql存储过程常用语句模板(含变量,if,三种循环等等) Mysql存储过程常用语句模板(含变量,if,三种循环等等) Mysql存储过程常用语句模板(含变量,if,三...
数据库编程 流程控制语句LOOP语句 课程目标 1)理解 —— LOOP语句的语法规则; 2)掌握 ——LOOP语句的使用方法; LOOP语句 LOOP语句语法格式如下: [begin_label:] LOOP statement_list ...LOOP循环语句
kettle批量导出mysql数据表,利用kettle的循环批量导出mysql 单个sql表脚本含视图,并生成命令行.source文件
#适用于实时查询mysql占用CPU高的语句,循环监控mysql进程情况,当CPU大于一定的前执行中的SQL情况. #执行前,修改ENV认证部分 #编写:Chaoren #2022年3月4日18:38:53 # #对于执行时间非常短的SQL可能监控到的语句...
Mysql存储过程常用语句模板(含变量,if,三种循环等等)
流程控制语句REPEAT循环语句 课程目标 1)理解 —— REPEAT语句的语法规则; 2)掌握 —— REPEAT语句的使用方法; REPEAT语句 REPEAT语句格式如下: [begin_label:] REPEAT statement_list UNTIL search_condition ...
NULL 博文链接:https://yuhuiblog695685688425687986842568269.iteye.com/blog/2424995
本资源结合实例实现一个复杂的存储过程,存储过程中有用到游标、临时表、循环、递归等知识,sql文件附有实例数据表创建的sql语句。
MySQL官方将prepare、execute、deallocate统称为PREPARE STATEMENT,我习惯称其为【预处理语句】,其用法十分简单,下面话不多说,来一起看看详细的介绍吧。 示例代码 PREPARE stmt_name FROM preparable_stmt ...