10_FLOW_CONTROL
Intro(FLOW CONTROL) #
简单介绍:
顺序结构:程序从上至下依次执行
分支结构:程序从两条或多条路径中选择一条去执行
循环结构:程序在满足一定条件的基础上,重复执行一段代码分支结构 #
IF函数 #
功能:实现简单的双分支
语法:if(表达式1,返回值2,返回值3)
如果表达式1成立,则if使用返回值2,否则使用返回值3.
应用:任何地方CASE函数 #
特点:
1).
可以作为表达式,嵌套在其他语句中使用,可以放在任何地方,begin end 中或begin end外面。可以作为单独的语句去使用,只能放在 begin end 中。2).
如果when中的值满足或条件成立,则执行对应的then后面的语句,并且结束case,如果都不满足,则执行else中的语句或值3).
else可以省略,如果else省略了,并且所有when条件都不满足,则返回NULL。Note
情况一:类似于java中的switch语句,一般用作实现等值判断
Note
情况二:类似于java中的多重if语句,一般用作实现区间判断
case1:根据我们传入的成绩,来显示等级,比如传入的成绩:90-100,显示A,80-90,显示B,60-80,显示C,否则,显示D
调用:call test_case(95);
IF结构 #
功能:实现多重分支
语法:if 条件1 then 语句1; elseif 条件2 then 语句2; ... ;else 语句n; end if;
如果表达式1成立,则if使用返回值2,否则使用返回值3.
应用:应用在begin end 中
case1:根据传入的成绩,来显示等级,比如传入的成绩:90-100,返回80-90,返回B,60-80,返回C,否则,返回D
调用select test_if(85);
循环结构 #
分类:
while, loop, repeat
循环控制:iterate
: 类似于 continue 继续,结束本次循环,继续下一次leave
: 类似于 break,跳出,结束当前所在的循环Note
omited
demo #
没有添加循环控制的情况
case1:批量插入,根据次数插入到admin表中多条记录
调用:call pro_while1(100);
添加leave 循环控制语句
case2:批量插入,根据次数插入到admin表中多条记录,如果次数 >20 则停止
调用:call pro_while2(100);
添加iterate 循环控制语句
case3:批量插入,根据次数插入到admin表中多条记录,只记录偶数次
调用:call pro_while3(100);
Note
可以用来模拟简单的死循环
Note
omited