SQL プロシージャーの IF ステートメント

IF ステートメントを使用して、満たさなければならない条件の状況に基づいて、条件付きで特定の論理を開始することができます。

IF ステートメントは、searched-case-statement-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