• MySQL的LOOP, LEAVE 和ITERATE语句(类似Continue、Break的写法)


    和REPEAT和while语句不同,LOOP、LEAVE、ITERATE更像其他编程语言中的goto语句。 LOOP要设定一个label指定循环的开始位置,而LEAVE则像其他语言中的Break会离开LOOP指定的块,iterate则像其他语言中的Continue会再次回到LOOP开始的语句。

    如下是一个使用LOOP语句的mysql存储过程:

     DELIMITER $$
     DROP PROCEDURE IF EXISTS LOOPLoopProc$$
     CREATE PROCEDURE LOOPLoopProc()
           BEGIN
                   DECLARE x  INT;
                   DECLARE str  VARCHAR(255);
                   SET x = 1;
                   SET str =  '';
                   loop_label:  LOOP
                               IF  x > 10 THEN
                                   LEAVE  loop_label;
                               END  IF;
                               SET  x = x + 1;
                               IF  (x mod 2) THEN
                                   ITERATE  loop_label;
                               ELSE
                                   SET  str = CONCAT(str,x,',');
                               END  IF;
    
                   END LOOP;    
                   SELECT str;
           END$$
     DELIMITER ;

    在上面存储过程中我们首先在LOOP语句开始前声明了一个loop_label,然后在if语句总判断变量x是否大于10,如果大于10会使用LEAVE语句退出循环,而如果x是奇数时则会回到循环开始继续执行,这有点像continue语句,否则对str执行concat操作,并进入下一次循环。

    
    
  • 相关阅读:
    Qt编写安防视频监控系统1-通道切换
    Qt编写数据可视化大屏界面电子看板12-数据库采集
    Serv-U
    CLAAS KGaA mbH
    法国雷诺
    Bulma
    react技术栈
    小程序开发
    上海hande
    30个极大提高开发效率的VSCode插件
  • 原文地址:https://www.cnblogs.com/lrl45/p/6041437.html
Copyright © 2020-2023  润新知