この課題では、ウィザードを使用して DB2 SQL ストアード・プロシージャーを作成します。
ここでは、従業員の部門 ID とユーザーが入力した値が一致する場合に EMPLOYEE 表からその従業員の情報を戻す、というシンプルなストアード・プロシージャーを作成します。
SQL ステートメントの作成には別のウィザードを使用しますが、ストアード・プロシージャーを作成するウィザードに直接ステートメントを入力することもできます。
ワークベンチの中でルーチンを作成する場合、プロジェクト・ワークスペースにソース・コードを保存します。
ルーチンをデプロイすると、ワークベンチによって以下のアクションが実行されます。
- Java ルーチンの場合、クライアント・ワークステーション上でソース・コードがコンパイルされます。
- SQL ルーチンの場合、サーバー上でソース・コードがコンパイルされます。
- ソース・コードが DB2 サーバーにコピーされます。
- ルーチンがカタログ表に登録されます。
SQL ストアード・プロシージャーを作成しデプロイするには、次のようにします。
- 「データ・プロジェクト・エクスプローラー」ビューで、SPDevelopment プロジェクトを展開して Stored Procedures フォルダーを見つけます。
- Stored Procedures フォルダーを右クリックし、を選択します。 「新規ストアード・プロシージャー」ウィザードが開きます。
- 「名前 (Name)」フィールドに SPEmployee と入力します。
- デフォルト言語の SQL をそのまま使用します。
- 「次へ」をクリックします。
- 「SQL ステートメント」ページで、「SQL の作成」をクリックします。 このアクションにより「新規 SQL ステートメント」ウィザードが起動します。
このウィザードのガイドに沿って SQL ステートメントを作成します。
- 「新規 SQL ステートメント」ウィザードの最初のページでは、
ウィザードを使用して SELECT ステートメントを作成するためのデフォルト設定をそのままにして「次へ」をクリックします。
- 「使用可能な表」リストで、schemaname/schemaname.EMPLOYEE テーブルにナビゲートします。
- 「>」ボタンをクリックして、表を「選択済みの表」リストに移動させます。
- 「列」タブをクリックします。
- schemaname.EMPLOYEE ツリーを展開して、EMPNO、FIRSTNME、LASTNAME、およびWORKDEPTを選択します。
- 「>」ボタンをクリックして、列を「選択済みの列」リストに移動します。
- 「条件」タブをクリックします。
- 「列」列の 1 行目をダブルクリックします。 ドロップダウン・ボックスが表示されます。
- 下矢印をクリックして EMPLOYEE.WORKDEPT を選択したら、Enter キーを押してこの選択を確定します。
- 「演算子」列では、デフォルトの演算子 = をそのまま使用します。
- 「値」列に :dept と入力して Enter キーを押します。 このアクションにより、ストアード・プロシージャー用のユーザー入力パラメーターとして使用される「dept」という名前のホスト変数が作成されます。
- 「次へ」をクリックして、作成した SQL ステートメントを表示します。 SQL ステートメントは次のようになります。
SELECT EMPNO, FIRSTNME, LASTNAME, WORKDEPT FROM SCHEMANAME.EMPLOYEE WHERE WORKDEPT = :dept
- 「終了」をクリックして「新規 SQL ステートメント」ウィザードを閉じてから、「新規ストアード・プロシージャー」ウィザードで「次へ」をクリックします。
- 「パラメーター」ページの「SQL エラー処理コード」フィールドで、「SQLSTATE および SQLCODE」を選択します。 「パラメーター」表に、作成した入力パラメーター (dept) と、SQLSTATE および SQLCODE の出力パラメーターが表示されます。
このページで、オプションとして他のユーザー・パラメーターを作成できますが、このチュートリアルでは設定されているパラメーターをそのまま使用します。
- 「次へ」をクリックします。
- ウィザードの「デプロイ・オプション」ページで、
「デプロイ」および「デバッグを使用可能にする」チェック・ボックスを選択します。 後の手順で、ワークベンチに組み込まれている統合 SQL ストアード・プロシージャー・デバッガーを使用してストアード・プロシージャーのデバッグを実行します。
ここではプロシージャーをデプロイしてデバッグを可能にします。
ここでデバッグ・オプションを選択しなくても、あとで手動でストアード・プロシージャーをデプロイし、デバッグ用に使用可能にすることができます。そのためには「データ・プロジェクト・エクスプローラー」ビューでストアード・プロシージャーを右クリックし、ポップアップ・メニューから「デプロイ」を選択します。
- 「次へ」をクリックします。 ウィザードの「コード・フラグメント」ページでは、オプションでストアード・プロシージャー本体へ挿入するコード・フラグメントが含まれたファイルを指定できます。
今回は、コード・フラグメントを指定しません。
- 「次へ」をクリックし、ウィザードのサマリー・ページで選択内容を確認します。
- 「終了」をクリックして、ストアード・プロシージャーを作成およびデプロイします。
「データ・プロジェクト・エクスプローラー」ビューにおいて、ストアード・プロシージャー SPEmployee が、それを作成したプロジェクトの下の Stored Procedures フォルダー内に表示されます。
エディターでそのストアード・プロシージャーを開いて、
ソース・コードを表示し、編集することができます。
「デプロイ」および「デバッグを使用可能にする」オプションを選択したので、ストアード・プロシージャーは自動的にデプロイされ、デバッグに使用可能になります。
ストアード・プロシージャーがデプロイされたなら、「データ・プロジェクト・エクスプローラー」ビューにおいて、そのストアード・プロシージャーの隣にあるアイコンにレンチが表示されます。
デプロイの結果は「データ出力」ビューに表示されます。
この時点で、ビジネス要件に応じて、エディターを使用することによりストアード・プロシージャーに変更を加えることもできます。