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才能被用,若是二者都存在,它们必须是同样的。
相关文章
相关标签/搜索