ThinkChat🤖让你学习和工作更高效,注册即送10W Token,即刻开启你的AI之旅 广告
# 流程控制 根据条件来控制语句的执行 每个流程中可能包含一个单独语句或是使用BEGIN...END构造的复合语句,构造可以被嵌套 ## IF语句 包含一个或多个条件判断,根据判断的结果为true或false执行相应的语句 ```sql if 条件 then SQL语句 [elseif 条件 then SQL语句]... [else SQL语句] end if; ``` > 提示 : mysql中还有一个if()函数,它不同于这里描述的if语句 ## CASE语句 条件判断语句 ### 第一种格式 ```sql case 条件 when 值 then SQL语句; [when 值 then SQL语句;] ... end case ``` ###第二种格式 ```sql case when 条件 then SQL语句; when 条件 then SQL语句; when 条件 then SQL语句; else SQL语句; end case; ``` ## LOOP语句 用来重复执行某些语句 ```sql [循环的标志:] loop SQL语句; end loop [循环的标志]; ``` ## LEAVE语句 用来退出任任何被标注的流程控制构造 ```sql leave 循环的标志; ``` ## ITERATE语句 将执行顺序转到语句段开头处,只可以出现在loop,repeat和while语句中 ```sql iterate 循环的标志; ``` ## REPEAT语句 创建一个带条件判断的循环过程,每次语句执行之后,会对条件表达式进行判断,如果为真,循环结束,否则就重复执行循环语句 ```sql [循环的标志:] repeat SQL语句; until 条件 end repeat [循环的标志]; ``` ## WHILE语句 与repeat不同的是先对表达式进行判断,如果为真才执行循环 ```sql [循环的标志:] while 表达式 SQL语句; end while [循环的标志];