oracle中if的用法是什么

用法: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視頻教程

以上就是

? 版權聲明
THE END
喜歡就支持一下吧
點贊10 分享