MySQL复习10-流程控制(分支结构.循环结构)

1. 分支结构

1.1 if函数

// 表达式成立,则执行语句1,否则执行语句2.
if(表达式1, 语句1, 语句2);

1.2 if结构

if 条件1 then 语句1; # 分支1
elseif 条件2 then 语句2; # 分支2
else 语句3; # 分支3
end if;
# 示例:输入分数,输出等级。
create function test_if(score int) returns char
begin
	if score>=90 then return 'A';
	elseif score>=80 then return 'B';
	else return 'C';
	end if;
end $

1.3 case结构

case 表达式
when1 then 返回值1;
else 返回值n;
end [case ;]
// 示例略

2. 循环结构

一般在函数或存储过程中使用

while,loop,repeat

2.1 while

# 结构1:单条件结束
select @i;
while 条件 do
	...
	set @i = @i+1;
end while;

# 结构2:多条件退出
a: while 条件1 do
	...
	if 条件2 leave a; # 退出
	if 条件3 iterate a; # continue
	end if; # 正常结束
	set @i = @i + 1;
end while a;

2.2 repeat

相当于do...while

a: repeat
	if 条件1 leave a;
	end if;
UNTIL 条件2;
end repeat a;

2.3 loop

loop是死循环,只能在里面结束

a: loop
	if 条件 leave a;
	end if;
end loop a;

猜你喜欢

转载自blog.csdn.net/weixin_37627774/article/details/108599704