ストアード・プロシージャー定義

ストアード・プロシージャーは動詞レベルで定義されます。ストアード・プロシージャー定義はそれぞれ、 エレメント StoredProcedureType、StoredProcedureName、 ResultSet、Parameters、 および ReturnValue から構成されます。

ストアード・プロシージャー定義エレメントを 以下の表に示します。

表 1. ストアード・プロシージャー定義
エレメント 説明 サポートされる双方向変換
StoredProcedure
Type
String 使用するストアード・プロシージャーのタイプを定義します。 これにより、ストアード・プロシージャーがいつ呼び出されるか (ビジネス・オブジェクトの 処理前など) が決まります。
注: RetrieveAll に関連するストアード・プロシージャーのタイプは、最上位ビジネス・オブジェクトにのみ適用されます。
以下のものが可能です。
  • BeforeVerbSP、
  • AfterVerbSP、または
  • VerbSP
ここで、verb は Create、Update、 Delete、Retrieve、または RetrieveAll です。
いいえ
StoredProcedure
Name
String 適切な StoredProcedureType と関連したストアード・プロシージャーの名前です。   はい
ResultSet Boolean この値は、ストアード・プロシージャーが結果を 戻すかどうかを決定します。結果のセットが戻される場合は、 結果のセットの行で戻される値を使用して、 現在のビジネス・オブジェクトの N カーディナリティーの子が作成されます。 true|false いいえ
Parameters String ストアード・プロシージャーのパラメーターのリストを定義します。
注: Oracle ストアード・プロシージャーの場合は、 結果のセットが出力パラメーターとしてのみ戻されます。 その場合、パラメーター・リスト内の値のいずれかが結果のセット (RS) になります。
以下の組み合わせ
  • IP: 入力専用
  • OP: 出力専用
  • IO: 入出力。
いいえ
ReturnValue String 関数によって値が返されるため、プロシージャー呼び出しではなく 関数呼び出しであることを示す値。戻り値が RS である場合、 値は結果セットです。この結果セットは、このビジネス・オブジェクトに対応する N カーディナリティー・コンテナーの 作成に使用されます。戻り値が属性である場合、値はビジネス・オブジェクトの 特定の属性に割り当てられます。属性が別の子ビジネス・オブジェクトである場合、 アダプターはエラーを返します。 RS または ビジネス・オブジェクト属性を指定できます。 いいえ
次に、ストアード・プロシージャー定義の例を示します。
<jdbcasi:JDBCBusinessObjectTypeMetadata
xmlns:jdbcasi="http://www.ibm.com/xmlns/prod/websphere/j2ca/jdbc/metadata">
            <jdbcasi:TableName>customer</jdbcasi:TableName><jdbcasi:Operation>
               <jdbcasi:Name>Retrieve</jdbcasi:Name>
               <jdbcasi:StoredProcedures>
<jdbcasi:StoredProcedureType>RetrieveSP</jdbcasi:StoredProcedureType>
<jdbcasi:StoredProcedureName>retrieve_cust</jdbcasi:StoredProcedureName>
<jdbcasi:ResultSet>false</jdbcasi:ResultSet>
                     <jdbcasi:Parameters>
                          <jdbcasi:Type>IP</jdbcasi:Type>
                          <jdbcasi:PropertyName>primaryKey</jdbcasi:PropertyName>
                    </jdbcasi:Parameters>
                    <jdbcasi:Parameters>
                          <jdbcasi:Type>OP</jdbcasi:Type>
                           <jdbcasi:PropertyName>custCode</jdbcasi:PropertyName>
                    </jdbcasi:Parameters>
                    <jdbcasi:Parameters>
                          <jdbcasi:Type>OP</jdbcasi:Type>
                           <jdbcasi:PropertyName>firstName</jdbcasi:PropertyName>
                    </jdbcasi:Parameters>
                    <jdbcasi:Parameters>
                          <jdbcasi:Type>OP</jdbcasi:Type>
                              <jdbcasi:PropertyName>lastName</jdbcasi:PropertyName>
                    </jdbcasi:Parameters>
                    </jdbcasi:StoredProcedures>
                    <jdbcasi:StoredProcedures>
<jdbcasi:StoredProcedureType>AfterRetrieveSP</jdbcasi:StoredProcedureType>
<jdbcasi:StoredProcedureName>retrieve_cust</jdbcasi:StoredProcedureName>
                    <jdbcasi:ResultSet>false</jdbcasi:ResultSet>
                    <jdbcasi:Parameters>
                         <jdbcasi:Type>IP</jdbcasi:Type>
                           <jdbcasi:PropertyName>primaryKey</jdbcasi:PropertyName>
                    </jdbcasi:Parameters>
                    <jdbcasi:Parameters>
                         <jdbcasi:Type>OP</jdbcasi:Type>
                          <jdbcasi:PropertyName>custCode</jdbcasi:PropertyName>
                    </jdbcasi:Parameters>
                    <jdbcasi:Parameters>
                         <jdbcasi:Type>OP</jdbcasi:Type>
                          <jdbcasi:PropertyName>firstName</jdbcasi:PropertyName>
                    </jdbcasi:Parameters>
                    <jdbcasi:Parameters>
                         <jdbcasi:Type>OP</jdbcasi:Type>
                         <jdbcasi:PropertyName>lastName</jdbcasi:PropertyName>
                    </jdbcasi:Parameters>
                 </jdbcasi:StoredProcedures>
             </jdbcasi:Operation>
</jdbcasi:JDBCBusinessObjectTypeMetadata>

結果セットが true であるが 空である場合でも、リソース・アダプター・プロパティー ReturnDummyBOForSP は 出力パラメーターを戻します。RetrieveSP の場合、結果のセットが戻されます。結果のセットが空の場合は、ビジネス・オブジェクトが生成されず、プロシージャー呼び出しの戻す出力パラメーターをリトリーブする方法も存在しません。ReturnDummyBOForSP が true の場合は、 対応する属性に読み込まれた出力パラメーターと入出力パラメーターの値を持つ ダミーのビジネス・オブジェクトが戻されます。 このプロパティーのデフォルト値は false です。


ご利用条件 |


(c) Copyright IBM Corporation 2005, 2006.
(C) Copyright IBM Japan 2006
このインフォメーション・センターでは Eclipse テクノロジー (http://www.eclipse.org) が採用されています。