外部 SQL プロシージャーの作成 (非推奨)

外部 SQL プロシージャーは、その本体全体が SQL で作成されているプロシージャーです。 この本体は、SQL プロシージャー型言語 (SQL PL) で作成されています。 ただし、外部 SQL プロシージャーは、その他の外部ストアード・プロシージャーと同じように作成され、インプリメントされ、実行されます。 DB2® 9 より前に作成されたすべての SQL プロシージャは外部 SQL プロシージャです。

始める前に

非推奨の関数 :外部SQLプロシージャは非推奨であり、ネイティブSQLプロシージャほど完全にサポートされていません。 最良の結果を得るために、代わりにネイティブ SQL プロシージャーを作成します。 詳細は、「ネイティブSQLプロシージャの作成 」および 「外部SQLプロシージャのネイティブSQLプロシージャへの移行 」を参照してください。

外部 SQL プロシージャーを作成する前に、インストール時にストアード・プロシージャーおよびユーザー定義関数を実行するためのDb2の構成またはマイグレーション時にストアード・プロシージャーおよびユーザー定義関数を実行するためのDb2の構成

Db2 ストアド・プロシージャ・デバッガまたは統合デバッガを使用する予定の場合は、JCL を使用しないでください。 代わりにDSNTPSMPを使用してください。

DSNTPSMP を使用する場合は、 外部 SQL プロシージャのサポートを設定する必要があります

プロシージャー

外部 SQL プロシージャーを作成するには、次のようにします。

  1. 次のいずれかの方式を使用して、外部 SQL プロシージャーを作成します。
    外部 SQL プロシージャーの作成に使用する前述の方法では、以下のアクションを実行します。
    • Db2プリコンパイラーで、外部SQLプロシージャーのソース・ステートメントをC言語プログラムに変換します。
    • 実行可能ロード・モジュールと Db2 パッケージをC 言語プログラムから作成します。
    • 静的または動的にCREATEPROCEDUREステートメントを発行して、外部SQLプロシージャーを Db2に定義します。
  2. GRANT EXECUTE ステートメントを発行して、ストアード・プロシージャーを使用する権限を適切なユーザーに与えます。

外部SQLプロシージャの準備と実行方法の例については、 外部SQLプロシージャの準備と実行に役立つサンプルプログラムを参照してください。