SQL 过程中的 IF 语句

可使用 IF 语句来根据条件满足状态而有条件进入某个逻辑。

IF 语句在逻辑上等价于带有搜索式 CASE 语句 WHEN 子句的 CASE 语句。

IF 语句支持使用可选 ELSE IF 子句和缺省 ELSE 子句。END IF 子句是指示语句结尾所必需的。

以下是包含 IF 语句的过程的示例:
  CREATE PROCEDURE UPDATE_SAL (IN empNum CHAR(6), 
                               INOUT rating SMALLINT)
  LANGUAGE  SQL
  BEGIN
    IF rating = 1 THEN
      UPDATE employee 
      SET salary = salary * 1.10, bonus = 1000     
        WHERE empno = empNum;
    ELSEIF rating = 2 THEN
      UPDATE employee 
      SET salary = salary * 1.05, bonus = 500 
        WHERE empno = empNum;
    ELSE
      UPDATE employee 
      SET salary = salary * 1.03, bonus = 0 
        WHERE empno = empNum;
    END IF;
  END