IF 语句根据一个布尔表达式的值决定是执行还是跳过一序列的语句。语法格式如下:

    1. IF boolean_expression THEN statement [, statement ]
    2. [ ELSIF boolean_expression THEN statement [, statement ] ]...
    3. [ ELSE statement [, statement ] ]
    4. END IF;

    示例:使用 IF 语句

    1. delimiter /
    2. CREATE OR REPLACE PROCEDURE sp_guess(p_value IN number)
    3. IS
    4. BEGIN
    5. IF p_value IS NULL THEN
    6. dbms_output.put_line('The value is NULL!');
    7. ELSIF (p_value < 0) THEN
    8. dbms_output.put_line('The value is a negative number. ');
    9. ELSE
    10. dbms_output.put_line('The value is a positive number. ');
    11. END IF;
    12. END;
    13. /
    14. delimiter ;
    15. obclient>
    16. obclient> set serveroutput on;
    17. Query OK, 0 rows affected (0.00 sec)
    18. obclient> call sp_guess(2020);
    19. Query OK, 0 rows affected (0.03 sec)
    20. The value is a positive number.
    21. obclient> call sp_guess(-2000);
    22. Query OK, 0 rows affected (0.00 sec)
    23. The value is a negative number.
    24. obclient>