博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
MySQL的循环语句使用总结
阅读量:4654 次
发布时间:2019-06-09

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

REPEAT-UNTIL循环

  [loopname]:REPEAT

      commands;

  UNTIL condition

  END REPEAT [loopname];

  在这种循环里,关键字repeatuntil之间的语句将一直循环执行到给定条件第一次得到满足为止,因为对条件表达式的求值发生在每次循环的末尾,所以整个循环语句至少会执行一次。下面的test(n)函数将返回一个包含着n+1个“*”字符的字符串 

1 CREATE FUNCTION test(n,INT) RETURNS TEXT 2 BEGIN 3 DECLARE i INT DEFAULT 0; 4 DECLARE s  TEXT DEFAULT ' '; 5 myloop: REPEAT 6  SET i=i+1; 7  SET s=CONCAT(s,"*"); 8 UNTIL i>n END REPEAT; 9     RETURN s;10 END

 

WHILE循环

 [loopname]:WHILE condition DO

      commands;

  END WHILE [loopname];

1 CREATE PROCEDURE test()2 BEGIN3 DECLARE i INT DEFAULT 0;4 WHILE i<40 DO 5  INSERT INTO authors(authName) VALUES (CONCAT('authname',i));6  SET i=i+1;7 END WHILE;8 END

 

 LOOP循环

  loopname:LOOP

      commands;

  END LOOP loopname;

   改造repeat-until循环的例子

1 CREATE FUNCTION test(n,INT) RETURNS TEXT 2 BEGIN 3  DECLARE i INT DEFAULT 0; 4  DECLARE s TEXT DEFAULT ' '; 5  myloop:LOOP 6   SET i=i+1; 7   SET s=CONCAT(s,"*"); 8   IF i>n THEN LEAVE myloop;END IF; 9 END LOOP myloop;10 RETURN s;11 END

LEAVE和ITERATE语句

  LEAVE loopname命令将使程序代码的执行流程跳出一个循环,还可以用来提前退出BEGIN-END语句块

  ITERATE loopname命令的效果是把循环体里的命令再执行一遍。ITERATE命令不能像LEAVE命令那样在BEGIN-END语句块里使用

1 CREATE PROCEDURE myProc(IN in_count INT) 2 BEGIN 3 DECLARE  num INT DEFAULT 0; 4 increment:LOOP 5 SET num=num+1; 6 IF num<20 THEN ITERATE increment;END IF; 7 IF num>in_count THEN LEAVE increment; 8 END IF; 9 END LOOP increment;10 SELECT num;11 END

调用存储过程 CAll myProc(5); 输出 20

转载于:https://www.cnblogs.com/SamFlynn/p/4489634.html

你可能感兴趣的文章
jsp 环境配置记录
查看>>
Python03
查看>>
LOJ 2537 「PKUWC2018」Minimax
查看>>
使用java中replaceAll方法替换字符串中的反斜杠
查看>>
Some configure
查看>>
流量调整和限流技术 【转载】
查看>>
1 线性空间
查看>>
VS不显示最近打开的项目
查看>>
DP(动态规划)
查看>>
chkconfig
查看>>
2.抽取代码(BaseActivity)
查看>>
夏天过去了, 姥爷推荐几套来自smashingmagzine的超棒秋天主题壁纸
查看>>
反射的所有api
查看>>
css 定位及遮罩层小技巧
查看>>
[2017.02.23] Java8 函数式编程
查看>>
sprintf 和strcpy 的差别
查看>>
JS中window.event事件使用详解
查看>>
ES6深入学习记录(一)class方法相关
查看>>
C语言对mysql数据库的操作
查看>>
INNO SETUP 获得命令行参数
查看>>