流程控制
只能用于存储程序,
BEGIN~END
语句中
分支结构:IF
- 语法:
- 表达式可以使用
AND|OR
连结
分支结构:CASE
- 情况一
CASE 表达式 WHEN value1 THEN operation1|result1; WHEN value2 THEN operation2|result2; ... ELSE operationn|resultn; END [case];
- 如果时放在
BEGIN~END
中,最后需要加上case
,如果放在SELECT
后,则不需要
- 如果时放在
- 情况二:
CASE
WHEN val IS NULL THEN SELECT 'val is null';
WHEN val < 0 THEN SELECT 'val is less than 0';
WHEN val > 0 THEN SELECT 'val is greater than 0';
ELSE SELECT 'val is 0';
END CASE;
循环结构:LOOP
LOOP
内的语句一直重复执行知道循环被退出,跳出循环过程- 使用
LEAVE
字句
- 使用
- 基本格式:
循环结构:WHILE
WHILE
语句创建一个带条件判断的循环过程- 基本格式:
循环结构:REPEAT
REPEAT
语句创建一个待条件判断的循环过程- 与
WHILE
循环不同的时,REPEAT
首先会执行一次循环,然后再进行判断 - 基本格式
BEGIN
DECLARE id INT DEFAULT 0;
repeat_add REPEAT
SET id = id + 1;
UNTIL id >= 10
END REPEAT repeat_add;
END;
跳转语句:LEAVE
LEAVE
可以用在循环语句内,或者以BEGIN~END
包裹起来的程序体内,类似于break
- 表示跳出循环或者跳出程序体的操作
- 基本格式:
LEAVE label_name;
跳转语句:ITERATE
ITERATE
语句只能用在循环语句中,表示重新开始循环,类似于continue
- 基本格式:
ITERATE label_name;