首頁  >  文章  >  資料庫  >  oracle中if的用法是什麼

oracle中if的用法是什麼

WBOY
WBOY原創
2022-02-28 10:55:0240742瀏覽

用法:1、「IF THEN END IF」語句決定單一條件下語句是否執行;2、「IF THEN ELSE END IF」語句決定兩個條件下語句是否執行;3、「IF THEN LESIF ELSE END IF」語句決定多個條件語句是否執行。

oracle中if的用法是什麼

本教學操作環境:Windows10系統、Oracle 11g版、Dell G3電腦。

oracle中if的用法是什麼

IF語句可以有3種使用方法,如下表:

oracle中if的用法是什麼

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中文網其他相關文章!

陳述:
本文內容由網友自願投稿,版權歸原作者所有。本站不承擔相應的法律責任。如發現涉嫌抄襲或侵權的內容,請聯絡admin@php.cn