MySQL存儲過程和函數(五)

一、IF語句
IF search_condition THEN statement_list
    [ELSEIF search_condition THEN statement_list] ...
    [ELSE statement_list]
END IF
 
二、CASE語句
CASE case_value
    WHEN when_value THEN statement_list
    [WHEN when_value THEN statement_list] ...
    [ELSE statement_list]
END CASE

Or:it

CASE
    WHEN search_condition THEN statement_list
    [WHEN search_condition THEN statement_list] ...
    [ELSE statement_list]
END CASE
 
三、LOOP語句
[begin_label:] LOOP
    statement_list
END LOOP [ end_label]
 
LOOP容許某特定語句或語句羣的重複執行,實現一個簡單的循環構造。在循環內的語句一直重複直循環被退出,退出一般伴隨着一個LEAVE 語句。
LOOP語句能夠被標註。除非 begin_label存在,不然 end_label不能被給出,而且若是二者都出現,它們必須是一樣的。
 
四、LEAVE語句
LEAVE  label
這個語句被用來退出任何被標註的流程控制構造。它和BEGIN ... END或循環一塊兒被使用。
 
五、ITERATE語句
ITERATE label

ITERATE只能夠出如今LOOP, REPEAT, 和WHILE語句內。ITERATE意思爲:「再次循環。」io

例如:循環

CREATE PROCEDURE doiterate(p1 INT)
BEGIN
  label1: LOOP
    SET p1 = p1 + 1;
    IF p1 < 10 THEN ITERATE label1; END IF;
    LEAVE label1;
  END LOOP label1;
  SET @x = p1;
END
 
六、REPEAT語句
[begin_label:] REPEAT
    statement_list
UNTIL search_condition
END REPEAT [end_label]
 
REPEAT語句內的語句或語句羣被重複,直至 search_condition 爲真。
REPEAT 語句能夠被標註。 除非 begin_label也存在, end_label才能被用,若是二者都存在,它們必須是同樣的。
 
七、WHILE語句
[begin_label:] WHILE search_condition DO
    statement_list
END WHILE [end_label]
 
WHILE語句內的語句或語句羣被重複,直至 search_condition 爲真。
WHILE語句能夠被標註。 除非 begin_label也存在, end_label才能被用,若是二者都存在,它們必須是同樣的。
相關文章
相關標籤/搜索