mysql循环中的break的手段多多,他也给我们提供了continue的手段:

文档:

ITERATE Syntax
ITERATE label
ITERATE can appear only within LOOP, REPEAT, and WHILE statements. ITERATE means “start the
loop again.”


测试例子:

DELIMITER $$
DROP PROCEDURE IF EXISTS lims_data.sp_test_loop$$
CREATE PROCEDURE lims_data.sp_test_loop()
BEGIN
    DECLARE _i INT UNSIGNED DEFAULT 0;
    
    test_loop : LOOP
        IF _i < 5 THEN
            SET _i = _i + 1;
            ITERATE test_loop;
        END IF;

        IF _i = 5 THEN
            LEAVE test_loop;
        END IF;
    END LOOP test_loop;
END$$
DELIMITER ;


这个就相当与continue一样   start the loop again 这就是他的意思所在

Logo

更多推荐