博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
MySQL 循环方法 while loop repeat 详解
阅读量:2393 次
发布时间:2019-05-10

本文共 1527 字,大约阅读时间需要 5 分钟。

存储过程中使用到的循环
while 循环 :
# 语法
while 条件 do
  循环体;
end while;
# 创建自定函数使用 while 循环
mysql> DELIMITER ;;
    -> CREATE PROCEDURE sum1(a INT)
    -> BEGIN
    -> DECLARE sum INT DEFAULT 0;  -- default 是指定该变量的默认值
    -> DECLARE i INT DEFAULT 1;
    -> WHILE i<=a DO  -- 循环开始
    -> SET sum=sum+i;
    -> SET i=i+1;
    -> END WHILE;  -- 循环结束
    -> SELECT sum;  -- 输出结果
    -> END
    -> ;;
mysql> DELIMITER ;
msyql> CALL sum1(100);    # 执行存储过程
msyql> DROP PROCEDURE IF EXISTS sum1;    # 删除存储过程
loop 循环 :
# 语法
loop_name:loop
  if 条件 then  -- 满足条件时离开循环
    leave loop_name;  -- 和 break 差不多都是结束训话
  end if;
end loop;
mysql> DELIMITER ;;
    -> CREATE PROCEDURE sum2(a int)
    -> BEGIN
    -> DECLARE sum INT DEFAULT 0;
    -> DECLARE i INT DEFAULT 1;
    -> loop_name:LOOP  -- 循环开始
    -> IF i>a THEN
    -> LEAVE loop_name;  -- 判断条件成立则结束循环,好比java中的 boeak
    -> END IF;
    -> SET sum=sum+i;
    -> SET i=i+1;
    -> END LOOP;  -- 循环结束
    -> SELECT sum;  -- 输出结果
    -> END
    -> ;;
mysql> DELIMITER ;
msyql> CALL sum2(100);    # 执行存储过程
msyql> DROP PROCEDURE IF EXISTS sum2;    # 删除存储过程
repeat 循环
语法
repeat
  循环体
until 条件 end repeat;
mysql> DELIMITER ;;
    -> CREATE PROCEDURE sum3(a int)
    -> BEGIN
    -> DECLARE sum INT DEFAULT 0;
    -> DECLARE i INT DEFAULT 1;
    -> REPEAT  -- 循环开始
    -> SET sum=sum+i;
    -> SET i=i+1;
    -> UNTIL i>a END REPEAT;  -- 循环结束
    -> SELECT sum;  -- 输出结果
    -> END
    -> ;;
mysql> DELIMITER ;
mysql> CALL sum3(100);    # 执行存储过程
msyql> DROP PROCEDURE IF EXISTS sum3;    # 删除存储过程
循环函数 :
repeat(str, count) : 将 str 字符串循环 count 并合并返回
mysql> SELECT REPEAT('a',10);
+----------------+
| REPEAT('a',10) |
+----------------+
| aaaaaaaaaa     |
+----------------+
1 row in set (0.00 sec)

转载地址:http://magab.baihongyu.com/

你可能感兴趣的文章
计算机系统结构 计算机系统结构的基本概念
查看>>
计算机系统结构 计算机指令集结构
查看>>
计算机系统结构 输入/输出系统
查看>>
信息安全技术及应用 常规加密技术
查看>>
02-线性结构1 两个有序链表序列的合并
查看>>
HDU 1080 DP LCS
查看>>
HDU 3308 线段树+区间合并
查看>>
ASP.NET 入手页面控件及事件触发
查看>>
HDU 4123 树状DP+RMQ
查看>>
HDU 4121 模拟
查看>>
vim配置文件(持续更新)
查看>>
Fedora 16下添加终端快捷键
查看>>
HDU 4007 线扫描
查看>>
HDU 4001 DP LIS
查看>>
HDU 4023 贪心+博弈
查看>>
HDU 4036 物理坑爹题
查看>>
Linux文件解压命令汇总(持续更新)
查看>>
HDU 4046 树状数组
查看>>
HDU 4034 图论 Floyd
查看>>
HDU 4027 线段树
查看>>