條件處理: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將某些復雜的執行設定為在相對空閑的時間內進行。