用法:1、「IF THEN END IF」語句決定單一條件下語句是否執行;2、「IF THEN ELSE END IF」語句決定兩個條件下語句是否執行;3、「IF THEN LESIF ELSE END IF」語句決定多個條件語句是否執行。
本教學操作環境:Windows10系統、Oracle 11g版、Dell G3電腦。
IF語句可以有3種使用方法,如下表:
1.1 IF-THEN組合
IF-THEN語法的常見格式如下:
IF condition THEN ...执行的语句... END IF;
其中,condition是布林類型的變數、常數,其值可能有三種情況:TRUE ,FALSE,NULL
例如有這樣的條件 IF sal > 1000; dbms_output.put_line('null');END IF;,這個條件可能回傳TRUE,FALSE,但是當sal的值是NULL的時候,也就是:IF NULL > 1000,回傳的值就是NULL
上述狀況為了避免NULL值產生,我們可以使用IF sal > 1000 OR sal is null dbms_output.put_line('null' );END IF;來避免,也可以使用空值處理函數處理
1.2 IF-THEN-ELSE組合
語法格式如下:
IF condition THEN ... TRUE sequence of executeable statements ... ELSE ... FALSE/NULL sequence of executeable statements ... END IF;
1.3 IF-THEN-ELSIF組合
要特別注意:這裡是ELSIF不是ELSEIF,寫成ELSE IF也是不行的。
語法格式如下:
IF condition-1 THEN statements-1 ELSIF condition-N THEN statements-N [ELSE else-statements] END IF;
2.短路求值
PL/SQL使用短路求值方法,也就是說PL/SQL不需要對一個IF語句中的所有表達式都去求值。例如,當對下面這個IF語句中的表達式求值的時候,如果第一個條件是FALSE或NULL,則PL/SQL會停止對表達式繼續求值,立即跳到ELSE分支上;
IF condition1 AND condition2 THEN ... ELSE ... END IF;
根據短路求值原理,存在多個條件時,一定要將會消耗大量的CPU和記憶體資源的條件放到整個條件集的最後。
推薦教學:《Oracle影片教學》
以上是oracle中if的用法是什麼的詳細內容。更多資訊請關注PHP中文網其他相關文章!