mysql while,loop,repeat循环,符合条件跳出循环
1、while循环
DELIMITER $$
DROP PROCEDURE IF EXISTS `sp_test_while`$$
CREATE PROCEDURE `sp_test_while`(
IN p_number INT, #要循环的次数
IN p_startid INT #循环的其实值
)
BEGIN
DECLARE v_val INT DEFAULT 0;
SET v_val=p_startid;
outer_label: BEGIN #设置一个标记
WHILE v_val<=p_number DO
SET v_val=v_val+1;
IF(v_val=100)THEN
LEAVE outer_label; #满足条件,终止循环,跳转到end outer_label标记
END IF;
END WHILE;
SELECT ‘我是while外,outer_label内的SQL‘; #由于这句SQL在outer_label代码块内,所以level后,这句SQL将不会执行;
#只要是在outer_label代码块内 任意位置 Leave outer_label,那么Leave后的代码将不再执行
END outer_label;
SELECT CONCAT(‘test‘,v_val) AS tname;
END$$ DELIMITER ; CALL sp_test_while(1000,0);
2、loop 循环
DELIMITER $$ DROP PROCEDURE IF EXISTS `sp_testloop`$$
CREATE PROCEDURE `sp_testloop`(
IN p_number INT, #要循环的次数
IN p_startid INT #循环的其实值
)
BEGIN
DECLARE v_val INT DEFAULT 0;
SET v_val=p_startid; loop_label: LOOP #循环开始
SET v_val=v_val+1; IF(v_val>p_number)THEN
LEAVE loop_label; #终止循环
END IF;
END LOOP;
SELECT CONCAT(‘testloop_‘,v_val) AS tname;
END$$ delimiter ; CALL sp_testloop(1000,0);
3、repeat循环下载地址
DELIMITER $$
DROP PROCEDURE IF EXISTS `sp_test_repeat`$$
CREATE PROCEDURE `sp_test_repeat`(
IN p_number INT, #要循环的次数
IN p_startid INT #循环的其实值
)
BEGIN
DECLARE v_val INT DEFAULT 0;
SET v_val=p_startid; REPEAT #repeat循环开始 SET v_val=v_val+1;
until v_val>p_number #终止循环的条件,注意这里不能使用‘;‘分号,否则报错 END repeat; #循环结束 SELECT CONCAT(‘test‘,v_val) AS tname;
END$$ DELIMITER ; CALL sp_test_repeat(1000,0);
mysql while,loop,repeat循环,符合条件跳出循环的更多相关文章
- mysql 单表,多表,符合条件,子查询
单表: HAVING过滤 二次筛选 只能是group by 之后的字段 1.查询各岗位内包含的员工个数小于2的岗位名.岗位内包含员工名字.个数 select post,group_concat(nam ...
- mysql 随机选取一条符合条件的记录
暂时记录下: SELECT * FROM `kw_user` AS t1 JOIN ( SELECT ROUND( RAND( ) * ( ( SELECT MAX( id ) FROM `kw_u ...
- MySQL 中的三中循环 while loop repeat 的基本用法
-- MySQL中的三中循环 while . loop .repeat 求 1-n 的和 -- 第一种 while 循环 -- 求 1-n 的和 /* while循环语法: while 条件 DO 循 ...
- MySQL中的三中循环 while 、 loop 、repeat 求 1~n 的和
-- MySQL中的三中循环 while . loop .repeat 求 1-n 的和 -- 第一种 while 循环 -- 求 1-n 的和/* while循环语法:while 条件 DO 循环体 ...
- MySQL 中while loop repeat 的基本用法
-- MySQL中的三中循环 while . loop .repeat 求 1-n 的和 -- 第一种 while 循环 -- 求 1-n 的和 /* while循环语法: while 条件 DO 循 ...
- MySQL中 while loop repeat 的用法
-- MySQL中的三中循环 while . loop .repeat 求 1-n 的和 -- 第一种 while 循环 -- 求 1-n 的和 /* while循环语法: while 条件 DO 循 ...
- MySQL与Oracle 差异比较之四条件循环语句
循环语句 编号 类别 ORACLE MYSQL 注释 1 IF语句使用不同 IF iv_weekly_day = 'MON' THEN ii_weekly_day := 'MON';ELS ...
- Oracle根据符合条件的数据循环批量更新
--批量对符合条件的表记录进行更新 --aa代表查询出的符合条件数据的别名 --aa后的表示需要符合的条件 --loop后开始写更新操作 begin for aa in (select a.objec ...
- MySQL之多表查询一 介绍 二 多表连接查询 三 符合条件连接查询 四 子查询 五 综合练习
MySQL之多表查询 阅读目录 一 介绍 二 多表连接查询 三 符合条件连接查询 四 子查询 五 综合练习 一 介绍 本节主题 多表连接查询 复合条件连接查询 子查询 首先说一下,我们写项目一般都会建 ...
随机推荐
- 浅析.NET的反射特性
在.net框架体系内,反射特性较多的应用到.反射的相关定义分为两种. 自然解释:射是一种自然现象,表现为受刺激物对刺激物的逆反应:这是反射的字面解释,我们看一下计算机编程中的反射: 编程解释:通过 S ...
- Android-Universal-Image-Loader 图片异步加载类库的使用
在博客中看到一篇利用组件进行图片异步加载的文章在此作记录 原文:http://blog.csdn.net/vipzjyno1/article/details/23206387 这个图片异步加载并缓存的 ...
- Circuit Breaker Pattern(断路器模式)
Handle faults that may take a variable amount of time to rectify when connecting to a remote service ...
- 写个C#命令行参数解析的小工具
最近测试工作做的比较多因此时常要创建一些控制台类型的应用程序.因为程序有不同的参数开关,需要在程序启动的时候通过命令行来给程序传递各种开关和参数.直接操作args有些不方便,所以就写了个解析参数的小工 ...
- hotcss用法
1.0 GitHub下载地址: https://github.com/imochen/hotcss 或者我的百度网盘:http://pan.baidu.com/s/1pKlLqHX 使用方法看demo ...
- ISS部署网站--HTTP 错误 404.17 - Not Found 请求的内容似乎是脚本,因而将无法由静态文件处理程序来处理。
1.控制面板>程序和功能>打开或关闭Windows功能 > Internet信息服务 > 万维网服务 > 应用程序开发功能 > ASP.NET(看这个是否选上): ...
- redis主从复制 从而 数据备份和读写分离
蜗牛Redis系列文章目录http://www.cnblogs.com/tdws/tag/NoSql/ 爬虫转载注明地址本文地址—博客园蜗牛 http://www.cnblogs.com/tdws/p ...
- android 网络加载图片,对图片资源进行优化,并且实现内存双缓存 + 磁盘缓存
经常会用到 网络文件 比如查看大图片数据 资源优化的问题,当然用开源的项目 Android-Universal-Image-Loader 或者 ignition 都是个很好的选择. 在这里把原来 ...
- 在DOS使用SVN之执行命令整理(TortoiseProc.exe)
原文链接: http://www.cnblogs.com/andrew-blog/archive/2012/08/21/SVN_DOS_Commands.html TortoiseSVN因为所有的命令 ...
- 记住 MVC里用formcollection接收form表单传来的值,表单属性必须有name为健!
记住 MVC里用formcollection接收form表单传来的值,input属性必须有name为健! 调了一晚上!! 写个日志记下!!