IF-THEN 语句是最简单形式的 IF。如果条件为 true,将执行 THEN 和 END IF 之间的语句。否则,跳过它们。

IF boolean-expression THEN
  statements
END IF;

在以下示例中,使用 IF-THEN 语句来测试并显示具有佣金的员工。

DECLARE
    v_empno         emp.empno%TYPE;
    v_comm          emp.comm%TYPE;
    CURSOR emp_cursor IS SELECT empno, comm FROM emp;
BEGIN
    OPEN emp_cursor;
    DBMS_OUTPUT.PUT_LINE('EMPNO    COMM');
    DBMS_OUTPUT.PUT_LINE('-----    -------');
    LOOP
        FETCH emp_cursor INTO v_empno, v_comm;
        EXIT WHEN emp_cursor%NOTFOUND;
--
--  Test whether or not the employee gets a commission
--
        IF v_comm IS NOT NULL AND v_comm > 0 THEN
            DBMS_OUTPUT.PUT_LINE(v_empno || '  ' ||
            TO_CHAR(v_comm,'$99999.99'));
        END IF;
    END LOOP;
    CLOSE emp_cursor;
END;

下面是此程序的输出。

EMPNO    COMM
-----    -------
7499     $300.00
7521     $500.00
7654    $1400.00