DB2 V9.7 for Linux, UNIX, and Windows

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