条件处理:condtional processing
1.case函数以一个表达式作为输入,一个值作为输出
格式:case 后面有输入表达式,when后面的的每一个表达式都会和case后面的输入表达式进行比较运算
如果相等,则返回,否则返回else后面的表达式,如果没有else则返回NULL。
case input_expression
when when_expression then result_expression
[...n]
[else else_result_expression]
end
case的第二种情况:
case后面没有表达式,when后面跟的是bool表达式。返回第一个when后面计算为true的表达式
格式为:
case
when bool_expression then result_expression
[...n]
else result_expression
end
2. if....else...的格式
if bool_expression
{sql_statement|sql_block}
[else
{sql_statement|sql_block}
]
3.begin ....end 相当于c++中的{...}用来形成一个代码块
4.条件循环
return,while,goto,waitfor
return
return 用于结束当前的sql块,查询,存储过程。
类似于c++中的return。
return 可以返回一个数字
while 类似c++中的while,同样支持break,continue,break来结束当前内层循环,continue继续当前循环
waitfor格式
waitfor
delay 'time_to_pass'//执行前等待的时间:格式为00:00:00小时:分钟:秒
|time 'time_to_execute'//设置实际执行的时间
|(receive_statement)[,TimeOUT timeout]
可以利用waitfor将某些复杂的执行设定为在相对空闲的时间内进行。