Vòng lặp while
Cú pháp của vòng lặp while:
Mã:
WHILE expression DO Statements END WHILE
Mã:
 DELIMITER $$
DROP PROCEDURE IF EXISTS WhileLoopProc$$
CREATE PROCEDURE WhileLoopProc()
    BEGIN
            DECLARE x  INT;
            DECLARE str  VARCHAR(255);
            SET x = 1;
            SET str =  '';
            WHILE x  <= 5 DO                           SET  str = CONCAT(str,x,',');                           SET  x = x + 1;               END WHILE;               SELECT str;       END$$   DELIMITER ;
Vòng lặp repeat
Cú pháp của vòng lặp repeat:
Mã:
REPEAT Statements; UNTIL expression END REPEAT
Mã:
 DELIMITER $$
DROP PROCEDURE IF EXISTS RepeatLoopProc$$
CREATE PROCEDURE RepeatLoopProc()
    BEGIN
            DECLARE x  INT;
            DECLARE str  VARCHAR(255);
            SET x = 1;
            SET str =  '';
            REPEAT
                        SET  str = CONCAT(str,x,',');
                        SET  x = x + 1;
            UNTIL x  > 5
            END REPEAT;
            SELECT str;
    END$$
DELIMITER ;
Vòng lặp loop, leave và iterate
Phát biểu leave cho phép bạn rời vòng lặp. Nó gần giống với phát biểu break trong các ngôn ngữ khác như Java, C#...
Phát biểu Iterate cho phép bạn bắt đầu vòng lặp trở lại. Nó gần giống như phát biểu continue trong Java hay C#.
MySql cũng hỗ trợ vòng lặp loop cho phép bạn thực thi dòng lệnh lặp 1 cách cơ động. Một ví dụ về vòng lặp loop
Mã:
 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$$



Nhận xét
Đăng nhận xét