美文网首页
mysql中的循环

mysql中的循环

作者: 鲸鱼酱375 | 来源:发表于2019-06-07 22:38 被阅读0次

1.三种循环

  • while
  • fo loop
  • repeat

2.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;    # 删除存储过程

3.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;    # 删除存储过程

4.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;    # 删除存储过程

reference:
https://www.cnblogs.com/Luouy/p/7301360.html

相关文章

网友评论

      本文标题:mysql中的循环

      本文链接:https://www.haomeiwen.com/subject/qhvpxctx.html