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