アプリケーション構築の手引き

SQL プロシージャーの呼び出し

コマンド行プロセッサー (CLP) の call コマンドを使用するか、 クライアント・アプリケーションを構築することによって SQL プロシージャーを呼び出すことができます。

CALL コマンドの使用

call コマンドを使用するには、ストアード・プロシージャーの名前に加えて、 そのストアード・プロシージャーが要求している IN または INOUT 引き数を入力する必要があります。 OUT パラメーターを入力することはできません。

まず、SQL プロシージャーの作成のステップに従って、 SQL プロシージャーを作成します。

作成された SQL プロシージャーを呼び出すには、 最初にデータベースへ接続する必要があります。

   db2 connect to sample user userid using password

ここで、useridpassword は、 sample データベースが置かれているインスタンスのユーザー ID とパスワードを表します。

ストアード・プロシージャーのパラメーターは、プログラム・ソース・ファイルにある、 そのストアード・プロシージャーの CREATE PROCEDURE ステートメントに示されています。 たとえば、ソース・ファイル whiles.db2 にある、 DEPT_MEDIAN プロシージャーの CREATE PROCEDURE ステートメントは、 次のように始まっています。

CREATE PROCEDURE DEPT_MEDIAN
(IN deptNumber SMALLINT, OUT medianSalary DOUBLE)

この場合、このプロシージャーを呼び出すには、 IN パラメーター deptNumber に、 有効な SMALLINT 値を入力する必要があります。 有効な値は、サンプル・データベース内の対応するテーブルで調べることもできますし、 クライアント呼び出しプログラムのソース・ファイルで、 使用されている値を調べることもできます。 たとえば、下の whiles.sqc では、 値 "51" が使用されているのがわかります。

   printf("Use CALL with Host Variables to invoke the Server Procedure "
      "named %s\n", procname);
   dept = 51;                    /* get median for dept. 51 */

call コマンドと共に、 プロシージャー名と IN パラメーターの値を入力します。 プロシージャーのパラメーターは、下の例のように必ず括弧で囲み、 引用符を使用してください。

db2 "call DEPT_MEDIAN (51)"

すると、次のような結果が得られます。

MEDIANSALARY: 1.76545000000000e+04

call コマンドを使用する際は、以下の点に注意してください。

OS/2 DB2 CLI クライアント・アプリケーション

%DB2PATH%\samples\sqlproc のコマンド・ファイル bldcli.cmd には、 SQL プロシージャー用の DB2 CLI クライアント・アプリケーションを作成するコマンドが含まれています。 bldcli.cmd についての詳細は、 "DB2 CLI アプリケーション"を参照してください。

DB2 CLI クライアント・アプリケーション rsultset を作成するには、 ソース・ファイル rsultset.c から次のように入力します。

   bldcli rsultset

このコマンドによって実行可能ファイル rsultset が作成されます。

ストアード・プロシージャーを呼び出すには、 実行可能ファイルの名前、接続しているデータベースの名前、 そしてデータベース・インスタンスのユーザー ID とパスワードを入力して、 サンプル・クライアント・アプリケーションを実行します。

rsultset database userid password

OS/2 組み込み SQL クライアント・アプリケーション

%DB2PATH%\samples\sqlproc のコマンド・ファイル bldapp.cmd には、 SQL プロシージャー用の組み込み SQL クライアント・アプリケーションを作成するコマンドが含まれています。 bldapp.cmd についての詳細は、 "DB2 API と組み込み SQL アプリケーション"を参照してください。

ソース・ファイル basecase.sqc から組み込み SQL クライアント・アプリケーション basecase を作成するには、 コマンド・ファイル名、実行可能ファイル名、接続しているデータベース、 およびデータベース・インスタンスのユーザー ID とパスワードを入力します。

   bldapp basecase database userid password

結果として、実行可能ファイル basecase が作成されます。

ストアード・プロシージャーを呼び出すためには、 次のように入力してクライアント・アプリケーションを実行します。

basecase database userid password

UNIX DB2 CLI クライアント・アプリケーション

sqllib/samples/sqlproc のスクリプト・ファイル bldcli には、 SQL プロシージャー用の DB2 CLI クライアント・アプリケーションを作成するコマンドが含まれています。 bldcli スクリプト・ファイルについての詳細は、 UNIX プラットフォーム用の『アプリケーションの構築』という章の『DB2 CLI アプリケーション』という節を参照してください。

DB2 CLI クライアント・アプリケーション rsultset を作成するには、 ソース・ファイル rsultset.c から次のように入力します。

   bldcli rsultset

このコマンドによって実行可能ファイル rsultset が作成されます。

ストアード・プロシージャーを呼び出すには、 実行可能ファイルの名前、接続しているデータベースの名前、 そしてデータベース・インスタンスのユーザー ID とパスワードを入力して、 サンプル・クライアント・アプリケーションを実行します。

rsultset database userid password

UNIX 組み込み SQL クライアント・アプリケーション

sqllib/samples/sqlproc のスクリプト・ファイル bldapp には、 SQL プロシージャー用の組み込み SQL クライアント・アプリケーションを作成するコマンドが含まれています。 bldapp スクリプト・ファイルについての詳細は、 UNIX プラットフォーム用の『アプリケーションの構築』という章の『DB2 API アプリケーション』という節を参照してください。

ソース・ファイル basecase.sqc から組み込み SQL クライアント・アプリケーション basecase を作成するには、 スクリプト・ファイル名、実行可能ファイル名、接続しているデータベース、 およびデータベース・インスタンスのユーザー ID とパスワードを入力します。

   bldapp basecase database userid password

結果として、実行可能ファイル basecase が作成されます。

ストアード・プロシージャーを呼び出すためには、 次のように入力してサンプル・クライアント・アプリケーションを実行します。

basecase database userid password

Windows DB2 CLI クライアント・アプリケーション

%DB2PATH%\samples\sqlproc ディレクトリーには、 DB2 CLI クライアント・アプリケーションを作成するための 2 つのビルド・ファイル、 bldmcli (Microsoft Visual C++ コンパイラー用) と、 bldvcli (IBM VisualAge C++ コンパイラー用) が含まれています。 bldmcli についての詳細は、 "DB2 CLI アプリケーション"を参照してください。 bldvcli についての詳細は、 "DB2 CLI アプリケーション"を参照してください。

DB2 CLI クライアント・アプリケーション rsultset を作成するには、 ソース・ファイル rsultset.c から、 使用するコンパイラーごとに次のいずれかを入力します。

   bldmcli rsultset

または

   bldvcli rsultset

これらのコマンドによって実行可能ファイル rsultset が作成されます。

ストアード・プロシージャーを呼び出すには、 実行可能ファイルの名前、接続しているデータベースの名前、 そしてデータベース・インスタンスのユーザー ID とパスワードを入力して、 サンプル・クライアント・アプリケーションを実行します。

rsultset database userid password

Windows 組み込み SQL クライアント・アプリケーション

%DB2PATH%\samples\sqlproc ディレクトリーには、 組み込み SQL クライアント・アプリケーションを作成するための 2 つのビルド・ファイル、 bldmapp (Microsoft Visual C++ コンパイラー用) と、 bldvapp (IBM VisualAge C++ コンパイラー用) が含まれています。 bldmapp についての詳細は、 "DB2 API と組み込み SQL アプリケーション"を参照してください。 bldvapp についての詳細は、 "DB2 API と組み込み SQL アプリケーション"を参照してください。

ソース・ファイル basecase.sqc から組み込み SQL クライアント・アプリケーション basecase を作成するには、 スクリプト・ファイル名、実行可能ファイル名、接続しているデータベース、 およびデータベース・インスタンスのユーザー ID とパスワードを入力します。 使用するコンパイラーごとに、次のいずれかのコマンドを使用します。

   bldmapp basecase database userid password

または

   bldvapp basecase database userid password

結果として、実行可能ファイル basecase が作成されます。

ストアード・プロシージャーを呼び出すためには、 次のように入力してサンプル・クライアント・アプリケーションを実行します。

basecase database userid password


[ ページのトップ | 前ページ | 次ページ | 目次 | 索引 ]