SQL プロシージャーの SQL PL

SQL PL を使用して、SQL プロシージャー内にプロシージャー・ロジックを実装することができます。

SQL PL ステートメントは、主に SQL プロシージャーで使用されます。 SQL プロシージャーにはデータの照会と変更用の基本的な SQL ステートメントを含めることができますが、他の SQL ステートメントに制御フロー・ロジックをインプリメントするための SQL PL ステートメントも組み込むことができます。 SQL PL ステートメントの完全セットは、SQL プロシージャーで使用できます。

また SQL プロシージャーは、パラメーター、変数、代入ステートメント、条件処理やエラー処理の強力なメカニズム、ネストされた呼び出しや再帰呼び出し、トランザクションおよびセーブポイントのサポート、さらにはプロシージャー呼び出し側またはクライアント・アプリケーションに複数の結果セットを戻す機能をサポートしています。

SQL PL を SQL プロシージャー内で使用すると、SQL でのプログラムを効率的に行えます。 SQL プロシージャーが提供する高水準言語の SQL PL およびその他のフィーチャーにより、SQL PL を使用したプログラミングを高速かつ簡単に実行できます。

SQL プロシージャーで使用される SQL PL ステートメントの簡単な例として、以下を検討してください。
  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