SQL スクリプトに基づく操作の追加

ご使用のデータベースでサポートされている任意の SQL ステートメントを実行する操作を作成できます。

このタスクについて

制約事項:
  • 1 つの操作に含めることができるのは、1 つの照会だけです。 ネーム・スペースは、SQL/XML と XQuery の両方で完全にサポートされています。
  • Web サービス内の各操作には固有の名前を付ける必要があります。

SQL ステートメントでは、JDBC 3.0 によってサポートされているすべてのデータ・タイプ (ARRAY、DISTINCT、JAVA_OBJECT、OTHER、REF、STRUCT は除く) を使用できます。さらに、DB2® の XML データ・タイプ、および DB2 for z/OS® がサポートしている ROWID データ・タイプも使用できます。

WHERE 文節および値を受け入れるステートメントでは、名前付きパラメーターまたは定位置パラメーターを使用してください。

名前付きパラメーター
名前付きパラメーターを使用することには、以下のような 2 つの利点があります。
  • 名前によって、デフォルトの XML スキーマはより詳細になり、クライアント・アプリケーションにパラメーターの意味を説明できます。
  • 1 つのパラメーターを複数のホスト変数に割り当てることができます。これは、UNION ALL ビューで役立ちます。
名前付きパラメーターはコロンで始まり、通常、対応するホスト変数にちなんだ名前が付きます。例えば、次の例では :empno がパラメーターで empno がホスト変数です。
SELECT * FROM employee where empno=:empno
結果として生じる XML スキーマでは、このパラメーターのエントリーは以下のようになります。
<element name="empno" type="xsd:string"/>
名前には大/小文字の区別があり、有効な XML タグ名でなければなりません。パラメーターの名前に XML で認められていない文字や文字シーケンスが含まれると、ワークベンチはその名前に対して SQL/XML エスケープ規則を自動的に適用します。 例えば、xml というパラメーターは _xFFFF_xml に変換されます。HTTP GET 要求でこのパラメーターを入力パラメーターとして使用する場合、URL は次の例のようでなければなりません。
http://localhost:8080/ContextRoot/rest/MyService?_xFFFF_xml=1234
定位置パラメーター
このパラメーターはホスト変数を表す疑問符です。値は、名前ではなく位置によって割り当てられます。以下の INSERT ステートメントでは、定位置パラメーターが使用されています。
INSERT INTO employee VALUES (?, ?, ?, ?)
結果として生じる XML スキーマでは、これらのパラメーターのエントリーは以下のようになります。
<element name="p1" type="xsd:int"/>
<element name="p2" type="xsd:string"/>
<element name="p3" type="xsd:string"/>
<element name="p4" type="xsd:anyType" nillable="true"/>

手順

SQL スクリプトに基づく操作を Web サービスに追加するには、以下のようにします。


フィードバック