機能
条件付き実行制御を行います。
記述形式
参照項番
探索条件 → “2.12 探索条件”
SQL手続き文 → “5.1 ストアドプロシジャの概要”
一般規則
探索条件には比較述語およびNULL述語しか記述することはできません。また、比較述語に副問合せを指定することはできません。
探索条件の比較述語で指定する値式のデータ型は、比較可能であることが必要です。
比較可能なデータ型は、“2.10.1 数値式”を参照してください。
探索条件に指定する値式にはCASE式およびROWNUMを指定することはできません。
1つ以上のIF文ELSEIF句が指定されている場合、以下のようなIF文ELSEIF句を含まないように指定したIF文と等価になります。
IF <探索条件1> THEN <SQL手続き文1> ; ELSEIF <探索条件2> THEN <SQL手続き文2> ; ELSEIF <探索条件3> THEN <SQL手続き文3> ; ELSE <SQL手続き文4> ; END IF ;
IF <探索条件1> THEN <SQL手続き文1> ; ELSE IF <探索条件2> THEN <SQL手続き文2> ; ELSE IF <探索条件3> THEN <SQL手続き文3> ; ELSE <SQL手続き文4> ; END IF ; END IF ; END IF ;
IF文の探索条件の結果は、真の場合、偽の場合、NULLの場合およびエラーの場合があります。真の場合は、THEN句の続きのSQL手続き文を実行します。他の場合、ELSE句が指定されていれば、ELSE句の続きのSQL手続き文を実行します。
使用例
IF文の定義をします。
BEGIN DECLARE A INT; DECLARE B INT; : IF A = 1 THEN INSERT INTO SCM.TBL(C,D) VALUES(1,2); ←条件が真の場合 ELSE INSERT INTO SCM.TBL(C,D) VALUES(3,4); ←条件が偽の場合 END IF; END