在 Oracle PL/SQL 中,IF 語句用於根據條件控制程式流程。基本語法包含 IF-THEN、IF-THEN-ELSE 以及 IF-THEN-ELSIF 三種形式,每個判斷區塊必須以 END IF; 結束。
以下完整範例示範如何接收鍵盤輸入並使用多個獨立 IF 判斷:
SET SERVEROUTPUT ON
-- 接收使用者輸入
ACCEPT num PROMPT '請輸入一個數字: ';
DECLARE
pnum NUMBER := # -- 將輸入值指派給變數
BEGIN
IF pnum = 0 THEN
DBMS_OUTPUT.PUT_LINE('您輸入的是 0');
END IF;
IF pnum = 1 THEN
DBMS_OUTPUT.PUT_LINE('您輸入的是 1');
END IF;
IF pnum = 2 THEN
DBMS_OUTPUT.PUT_LINE('您輸入的是 2');
END IF;
END;
/
若需多條件互斥判斷,建議使用 ELSIF 避免重複評估:
IF pnum = 0 THEN
DBMS_OUTPUT.PUT_LINE('零');
ELSIF pnum = 1 THEN
DBMS_OUTPUT.PUT_LINE('一');
ELSIF pnum = 2 THEN
DBMS_OUTPUT.PUT_LINE('二');
ELSE
DBMS_OUTPUT.PUT_LINE('其他數字');
END IF;
/ 或 . 結束執行。&num 為 SQL*Plus 替換變數語法,實際執行時會提示輸入。IF 皆需配對 END IF;,否則會編譯錯誤。