PL/SQL (Oracle) 三種核心條件結構語法與範例,適用存儲過程、觸發器、匿名區塊。
IF condition THEN
-- 條件為真時執行
statements;
END IF;
IF condition THEN
statements_1;
ELSE
statements_2;
END IF;
IF condition_1 THEN
statements_1;
ELSIF condition_2 THEN
statements_2;
ELSIF condition_3 THEN
statements_3;
ELSE
statements_else;
END IF;
DECLARE
v_sal NUMBER := 8500;
v_grade VARCHAR2(10);
BEGIN
IF v_sal > 10000 THEN
v_grade := '高級';
ELSIF v_sal > 5000 THEN
v_grade := '中級';
ELSIF v_sal > 0 THEN
v_grade := '初級';
ELSE
v_grade := '異常';
END IF;
DBMS_OUTPUT.PUT_LINE('薪資等級: ' || v_grade);
END;
/
-- 簡單 CASE
CASE v_sal
WHEN 10000 THEN '高'
WHEN 5000 THEN '中'
ELSE '低'
END;
-- 搜尋 CASE (範圍判斷)
CASE
WHEN v_sal > 10000 THEN '高'
WHEN v_sal > 5000 THEN '中'
ELSE '低'
END;
CASE 可直接用於 SQL 查詢,IF 僅限 PL/SQL 程式區塊。