クライアント側のプログラムは、SQL CALL ステートメントを出して、サーバー側のプログラムを呼び出すことができます。この場合、各サーバーの作業はその他のサーバーの作業と若干異なります。
REXX/SQL に組み込まれた CALL ステートメントは CALL USING DESCRIPTOR にマッピングを行うので、 DB2 AS/400 用から REXX/SQL への CALL ステートメントはすべて、アプリケーションによって動的に作成および実行されなければなりません。
SQL CALL ステートメントの構文については、 SQL 解説書 を参照してください。
DB2 ユニバーサル・データベース上でサーバー・プログラムを起動する場合、そのサーバー・プログラムが DB2 ユニバーサル・データベース (OS/390 版)、DB2 ユニバーサル・データベース (AS/400 版)、または DB2 (VSE および VM 版) で使うものと同じパラメーター規則を使用することができます。 DB2 ユニバーサル・データベースのストアード・プロシージャーの起動の詳細については、 ストアード・プロシージャー。他のプラットフォームのパラメーターの規則の詳細については、そのプラットフォームの DB2 製品の資料を参照してください。
ストアード・プロシージャー内の全 SQL ステートメントは、クライアント側の SQL プログラムにより開始される SQL 作業単位の一部として実行されます。
DB2 ユニバーサル・データベースとの間で、システムはなんであれ標識変数に指定されたものを渡します。ただし、DB2 コネクトを使用している場合は、0、-1、および -128 以外の値を標識変数に渡すことはできません。
DB2 ユニバーサル・データベース上のサーバー・プログラムは、エラーまたは警告を戻すように SQLCA を更新できますが、 DB2 ユニバーサル・データベース (OS/390 版) または DB2 ユニバーサル・データベース (AS/400 版) でのストアード・プロシージャーには、そのようなサポートはありません。ストアード・プロシージャーからエラー・コードを戻したい場合は、これをパラメーターとして渡してください。サーバーが SQLCODE および SQLCA にセットできるエラーは、システムが検出したエラーだけです。
DB2 ストアード・プロシージャー・ビルダーは、ストアード・プロシージャーを作成、インストール、およびテストするための使いやすい開発環境を提供します。これにより、DB2 サーバーでのストアード・プロシージャーの登録、構築、およびインストールに関する詳細というよりも、ストアード・プロシージャーのロジックに注意を向けることができます。さらに、ストアード・プロシージャー・ビルダーを使用すると、あるオペレーティング・システムで開発したストアード・プロシージャーを、他のサーバー・オペレーティング・システムで構築できます。
ストアード・プロシージャー・ビルダーは、迅速な開発をサポートするグラフィカル・アプリケーションです。ストアード・プロシージャー・ビルダーを使用すると以下のような作業を行えます。
ストアード・プロシージャー・ビルダーは DB2 ユニバーサル・データベースのプログラム・グループとは別個のアプリケーションとして立ち上げることもできますし、以下の開発アプリケーションのいずれかから立ち上げることもできます。
DB2 (OS/390 版) のコントロール・センターからストアード・プロシージャー・ビルダーを立ち上げることもできます。ストアード・プロシージャー・ビルダーは、コントロール・センターの「ツール」メニュー、ツールバー、または「ストアード・プロシージャー」フォルダーから別個のメニューとして始動することができます。さらに、「ストアード・プロシージャー・ビルダー・プロジェクト」ウィンドウから、 DB2 (OS/390 版) サーバーに作成した SQL ストアード・プロシージャーを 1 つかそれ以上選択して、コマンド行プロセッサー (CLP) で実行可能な指定したファイルにエクスポートすることができます。
ストアード・プロシージャー・ビルダーは、プロジェクトを使用して作業を管理します。それぞれのストアード・プロシージャー・ビルダー・プロジェクトは、 DB2 (OS/390 版) サーバーなどの特定のデータベースへの接続を保管します。さらに、各データベース上にストアード・プロシージャーのサブセットを表示するためのフィルターを作成することができます。新規または既存のストアード・プロシージャー・ビルダー・プロジェクトを開くとき、その名前、スキーマ、言語、または集合識別子 (OS/390 版のみ) に基づくストアード・プロシージャーを表示するため、ストアード・プロシージャーをフィルターすることができます。
接続情報は、ストアード・プロシージャー・ビルダー・プロジェクトに保管されます。そのため、既存のプロジェクトを開くと、そのデータベースのユーザー ID とパスワードを入力するプロンプトが自動的に表示されます。「SQL ストアード・プロシージャーの挿入」ウィザードを使用して、 DB2 (OS/390 版) サーバーで SQL ストアード・プロシージャーを作成することができます。 DB2 (OS/390 版) サーバーに作成した SQL ストアード・プロシージャーの場合、特定のコンパイル、プリリンク、リンク、バインド、実行時、WLM 環境、および外部機密保護オプションを設定することができます。
さらに、SQL ストアード・プロシージャーに関する SQL 見積情報 (SQL ストアード・プロシージャーが実行中のスレッドに応じた CPU 時間や他の DB2 見積情報についての情報を含む) を取得することができます。特に、ラッチ / ロックの競合待ち時間、取得したページ数、読み取り I/O の数、および書き込み I/O の数に関する見積情報を取得することができます。
見積情報を取得するため、ストアード・プロシージャー・ビルダーは DB2 (OS/390 版) に接続し、 SQL ステートメントを実行して、どの程度の CPU 時間と SQL ストアード・プロシージャーが使われるかを知るため、ストアード・プロシージャー (DSNWSPM) を呼び出します。