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