天天看點

SQL中case語句的執行

informix的sql中,無論case語句是在普通查詢語句中還是在存儲過程中,執行情況基本一緻。通常情況下條件隻符合一條當然沒有疑問。就以下兩種情況尤其是第一種情況需要注意。

1、在滿足條件的when子句存在多條的情況下,僅第一條有效,後面的都不執行;

2、在存儲過程的case語句中中如果沒有when隻有else,則直接執行else後的語句。當然這樣的情況最好避免。

可以了解為case就是執行滿足條件的第一條語句後就跳出case語句。

另外存儲過程中case後變量值隻計算一次,也就是說即使case語句中改變了變量值是不會影響後面的判斷的。