> 데이터 베이스 > MySQL 튜토리얼 > mysql while,loop,repeat循环,符合条件跳出循环_MySQL

mysql while,loop,repeat循环,符合条件跳出循环_MySQL

PHP中文网
풀어 주다: 2016-05-27 13:46:37
원래의
2606명이 탐색했습니다.

mysql while,loop,repeat循环,符合条件跳出循环_MySQL

1、while循环

 

DELIMITER $$
DROP PROCEDURE IF EXISTS `sp_test_while`$$
CREATE  PROCEDURE `sp_test_while`(
 IN p_number INT, #要循环的次数
 IN p_startid INT #循环的其实值
)
BEGIN  
DECLARE v_val INT DEFAULT 0;  
SET v_val=p_startid;
outer_label:  BEGIN  #设置一个标记
WHILE v_val<=p_number DO  
    SET v_val=v_val+1;  
    IF(v_val=100)THEN
        LEAVE  outer_label;  #满足条件,终止循环,跳转到end outer_label标记
    END IF;
END WHILE;  
SELECT &lsquo;我是while外,outer_label内的SQL&lsquo;; 
#由于这句SQL在outer_label代码块内,所以level后,这句SQL将不会执行;
#只要是在outer_label代码块内 任意位置 Leave outer_label,那么Leave后的代码将不再执行
END outer_label;   
 SELECT CONCAT(&lsquo;test&lsquo;,v_val) AS tname;
END$$

DELIMITER ;

CALL sp_test_while(1000,0);
로그인 후 복사

2、loop 循环

DELIMITER $$

DROP PROCEDURE IF EXISTS `sp_testloop`$$
CREATE  PROCEDURE `sp_testloop`(
 IN p_number INT, #要循环的次数
 IN p_startid INT #循环的其实值
)
BEGIN  
    DECLARE v_val INT DEFAULT 0;  
    SET v_val=p_startid;

    loop_label:  LOOP   #循环开始
        SET v_val=v_val+1; 
         
        IF(v_val>p_number)THEN
            LEAVE  loop_label;  #终止循环
        END IF;
    END LOOP; 
     SELECT CONCAT(&lsquo;testloop_&lsquo;,v_val) AS tname;
END$$

delimiter ;

CALL sp_testloop(1000,0);
로그인 후 복사

3、repeat循环下载地址

DELIMITER $$
DROP PROCEDURE IF EXISTS `sp_test_repeat`$$
CREATE  PROCEDURE `sp_test_repeat`(
 IN p_number INT, #要循环的次数
 IN p_startid INT #循环的其实值
)
BEGIN  
DECLARE v_val INT DEFAULT 0;  
SET v_val=p_startid;

 REPEAT  #repeat循环开始

    SET v_val=v_val+1; 
      until v_val>p_number #终止循环的条件,注意这里不能使用&lsquo;;&lsquo;分号,否则报错     
      
 END repeat; #循环结束 

 SELECT CONCAT(&lsquo;test&lsquo;,v_val) AS tname;
END$$

DELIMITER ;

CALL sp_test_repeat(1000,0);
로그인 후 복사

 

以上就是mysql while,loop,repeat循环,符合条件跳出循环_MySQL的内容,更多相关内容请关注PHP中文网(www.php.cn)!


관련 라벨:
원천:php.cn
본 웹사이트의 성명
본 글의 내용은 네티즌들의 자발적인 기여로 작성되었으며, 저작권은 원저작자에게 있습니다. 본 사이트는 이에 상응하는 법적 책임을 지지 않습니다. 표절이나 침해가 의심되는 콘텐츠를 발견한 경우 admin@php.cn으로 문의하세요.
인기 튜토리얼
더>
최신 다운로드
더>
웹 효과
웹사이트 소스 코드
웹사이트 자료
프론트엔드 템플릿