mysql的LOOP, LEAVE 和ITERATE语句

2019-06-16 02:07栏目:技术创新

和REPEAT和while语句不相同,LOOP、LEAVE、ITERATE更像其余编制程序语言中的goto语句。 LOOP要设定二个label钦命循环的开首地点,而LEAVE则像任何语言中的break会离开LOOP钦定的块,iterate则会再一次重回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操作,并进入下三次巡回。

版权声明:本文由新浦京娱乐站_新浦京娱乐场官网_新浦京娱乐发布于技术创新,转载请注明出处:mysql的LOOP, LEAVE 和ITERATE语句