Oracle PL/SQL IF判斷式

PL/SQL IF條件判斷,達成不同的邏輯選擇

前言

Oracle PL/SQL提供IF判斷式的功能,用於進行相關的條件決策,並進行相關處理動作,這一點對撰寫如C、C#或者JAVA…等語言經驗的工程師,應該十分好理解。

實作

IF判斷式語法如下

1
2
3
4
5
6
7
IF 判斷式1 THEN
...........
ELSIF 判斷式2 THEN
...........
ELSE
...........
END IF;

針對判斷式的部分可使用 SQL 相關語法如 BETWEEN…AND 或是 IS NULL 等語法,當作判斷式條件。

 1
 2
 3
 4
 5
 6
 7
 8
 9
10
11
12
13
14
15
16
17
DECLARE
    V_AGE INT := 63;
BEGIN
    IF V_AGE BETWEEN 18 AND 30 THEN
        DBMS_OUTPUT.PUT_LINE('您的年齡:' || V_AGE || ', 為青年.'); 
    ELSIF V_AGE BETWEEN 31 AND 44 THEN
        DBMS_OUTPUT.PUT_LINE('您的年齡:' || V_AGE || ', 為壯年.'); 
    ELSIF V_AGE BETWEEN 45 AND 59 THEN
        DBMS_OUTPUT.PUT_LINE('您的年齡:' || V_AGE || ', 為中年.'); 
    ELSIF V_AGE BETWEEN 60 AND 69 THEN
        DBMS_OUTPUT.PUT_LINE('您的年齡:' || V_AGE || ', 為前期高年.'); 
    ELSIF V_AGE > 69 THEN
        DBMS_OUTPUT.PUT_LINE('您的年齡:' || V_AGE || ', 為老年.');
    ELSE
        DBMS_OUTPUT.PUT_LINE('您的年齡:' || V_AGE || ', 尚未成年.'); 
    END IF;
END;

依照輸入的年齡,輸出相關結果,執行結果如下:

1
您的年齡:63, 為前期高年.