mysql中的流程控制語句有:1.IF語句,根據不同條件執行不同操作;2.CASE語句,多分支語句結構;3.WHILE循環語句,先判斷后執行;4.LOOP循環語句,沒有內置的循環條件;5.REPEAT循環語句,先執行后判斷;
mysql中的流程控制語句有以下幾種
1.IF語句
mysql中IF語句的作用是用于進行條件判斷,可以根據不同條件執行不同操作,如何判斷條件為真,執行THEN后的語句,條件為假,則繼續判斷IF語句直到為真為止,不滿足條件時,則執行ELSE語句后的內容。
CREATE PROCEDURE example_if (IN x INT)
BEGIN
IF x = 1 THEN
SELECT 1;
ELSEIF x = 2 THEN
SELECT 2;
ELSE
SELECT 3;
END IF;
END;
CALL example_if(2);
2.CASE語句
mysql中CASE語句是一個多分支語句結構,如條件為真,執行分支的內容,條件為假,則執行ELSE后的內容。
CREATE PROCEDURE example_case(IN x INT)
BEGIN
CASE x
WHEN 1 THEN SELECT 1;
WHEN 2 THEN SELECT 2;
ELSE SELECT 3;
END CASE;
END;
CALL example_case(5);
3.WHILE循環語句
mysql中WHILE循環語句是通過判斷condition條件是否為真,如條件為真,執行循環體,條件為假,則退出循環。
CREATE PROCEDURE example_while(OUT sum INT)
BEGIN
DECLARE i INT DEFAULT 1;
DECLARE s INT DEFAULT 0;
WHILE i <= 100 DO
SET s = s+i;
SET i = i+1;
END WHILE;
SET sum = s;
END;
CALL example_while(@sum);
SELECT @sum;
4.LOOP循環語句
mysql中LOOP循環是一個沒有內置的循環條件的循環語句,可以通過LEAVE語句退出循環。
CREATE PROCEDURE example_loop(OUT sum INT)
BEGIN
DECLARE i INT DEFAULT 1;
DECLARE s INT DEFAULT 0;
loop_label:LOOP
SET s = s+i;
SET i = i+1;
IF i>100 THEN
LEAVE loop_label;
END IF;
END LOOP;
SET sum = s;
END;
CALL example_loop(@sum);
SELECT @sum;
5.REPEAT循環語句
mysql中REPEAT循環是一種先執行后判斷的循環語句,是通過先執行一次循環體,在判斷condition條件是否為真,若條件為真,繼續執行循環,條件為假,則退出循環。
CREATE PROCEDURE example_repeat(OUT sum INT)
BEGIN
DECLARE i INT DEFAULT 1;
DECLARE s INT DEFAULT 0;
REPEAT
SET s = s+i;
SET i = i+1;
UNTIL i > 100
END REPEAT;
SET sum = s;
END;
CALL example_repeat(@sum);
SELECT @sum;