Microsoft BizTalk Adapter for Oracle Database では、Oracle データベース内の各テーブルとビューの基本的な挿入、更新、削除、および選択操作が表示されます。 これらの操作は、WHERE 句によって修飾された適切な SQL ステートメントを実行します。 Oracle データベース アダプターは、これらの操作で厳密に型指定されたレコードとレコード セットを使用します。
基本的なテーブル操作のメッセージ構造
次の表は、Oracle データベース テーブルで Oracle Database アダプターによって公開される基本的なテーブル操作の XML メッセージ構造を示しています。 操作のターゲット テーブルはメッセージ アクションで指定され、ターゲット名前空間にも表示されます。
[挿入]
挿入操作には次の種類があります。 メッセージに含めることができる挿入操作の種類は 1 つだけです。
- 複数レコード挿入では、厳密に型指定されたデータの指定されたレコード セットがターゲット テーブルに挿入されます。
- 複数のレコード挿入内の各レコードに対して、 InlineValue という省略可能な属性の値を指定できます。 指定すると、要素の値がオーバーライドされます。
- 一括挿入では、QUERY 要素で指定された SELECT クエリによって返されたレコード セットがターゲット テーブルに挿入されます。 これを行うには、COLUMN_NAMES要素で指定された列のコンマ区切りのリストを使用します。
XML メッセージ
複数レコードの挿入
<Insert xmlns="[VERSION]/[SCHEMA]/Table/[TABLE_NAME]">
<RECORDSET>
<[TABLE_NAME]RECORDINSERT>
<[FIELD1_NAME InlineValue="value"]>value1</[FIELD1_NAME]>
<[FIELD2_NAME InlineValue="value"]>value2</[FIELD2_NAME]>
…
</[TABLE_NAME]RECORDINSERT>
<[TABLE_NAME]RECORDINSERT >
<[FIELD1_NAME InlineValue="value"]>value1</[FIELD1_NAME]>
<[FIELD2_NAME InlineValue="value"]>value2</[FIELD2_NAME]>
…
</[TABLE_NAME]RECORDINSERT>
…
</RECORDSET>
</Insert>
アダプターによって実行される SQL: INSERT INTO TABLE_NAME (FIELD1_NAME, FIELD2_NAME, …)VALUES (value1, value2, …);
一括挿入
<Insert xmlns="[VERSION]/[SCHEMA]/Table/[TABLE_NAME]">
<COLUMN_NAMES>[COLUMN_list]</COLUMN_NAMES>
<QUERY>[SELECT_query]</QUERY>
</Insert>
アダプターによって実行される SQL: INSERT INTO TABLE_NAME (COLUMN_list) SELECT_query;
応答の挿入
挿入された行の数が InsertResult 要素に返されます。
XML メッセージ
<InsertResponse xmlns="[VERSION]/[SCHEMA]/Table/[TABLE_NAME]">
<InsertResult>[rows inserted]</InsertResult>
</InsertResponse>
選択する
SELECT クエリは、FILTER 要素で指定された WHERE 句を使用して、ターゲット テーブルに対して実行されます。 結果セットには、COLUMN_NAMES要素で指定された列名のコンマ区切りリスト内の列が含まれます。
XML メッセージ
<Select xmlns="[VERSION]/[SCHEMA]/Table/[TABLE_NAME]">
<COLUMN_NAMES>[COLUMN_list]</COLUMN_NAMES>
<FILTER>WHERE_clause</FILTER>
</Select>
アダプターによって実行される SQL: SELECT COLUMN_list FROM TABLE_NAME WHERE WHERE_clause;
応答の選択
SELECT クエリによって生成された結果セット。
XML メッセージ
<SelectResponse xmlns="[VERSION]/[SCHEMA]/Table/[TABLE_NAME]">
<SelectResult>
<[TABLE_NAME]RECORDSELECT>
<[FIELD1_NAME]>value1</[FIELD1_NAME]>
<[FIELD2_NAME]>value2</[FIELD2_NAME]>
…
</[TABLE_NAME]RECORDSELECT>
</SelectResult>
</SelectResponse>
更新
FILTER 要素で指定された where 句と一致する行は、RECORDSET で指定された値に更新されます。 レコードセットで指定されている列のみが、一致する行ごとに更新されます。
XML メッセージ
<Update xmlns="[VERSION]/[SCHEMA]/Table/[TABLE_NAME]">
<RECORDSET>
<[FIELD1_NAME]>value1</[FIELD1_NAME]>
<[FIELD2_NAME]>value2</[FIELD2_NAME]>
…
</RECORDSET>
<FILTER>WHERE_clause</FILTER> </Update>
アダプターによって実行される SQL: UPDATE [TABLE_NAME] SET [FIELD1_NAME] = value1, [FIELD2_NAME] = value2, … WHERE WHERE_clause;
応答の更新
更新された行の数は、UpdateResult 要素で返されます。
XML メッセージ
<UpdateResponse xmlns="[VERSION]/[SCHEMA]/Table/[TABLE_NAME]">
<UpdateResult>[rows inserted]</UpdateResult>
</UpdateResponse>
削除
FILTER 要素で指定された WHERE 句に一致する行が削除されます。
XML メッセージ
<Delete xmlns="[VERSION]/[SCHEMA]/Table/[TABLE_NAME]">
<FILTER>WHERE_clause</FILTER>
</Delete>
アダプターによって実行される SQL: DELETE FROM [TABLE_NAME] WHERE WHERE_clause;
応答の削除
削除された行の数は、DeleteResult 要素で返されます。
XML メッセージ
<DeleteResponse xmlns="[VERSION]/[SCHEMA]/Table/[TABLE_NAME]">
<DeleteResult>[rows inserted]</DeleteResult>
</DeleteResponse>
プレースホルダーの値 | 説明 |
---|---|
[バージョン] | メッセージのバージョン文字列。例えば http://Microsoft.LobServices.OracleDB/2007/03 |
[SCHEMA] | Oracle アーティファクトのコレクション。例えば SCOTT |
[TABLE_NAME] | テーブルの名前。例えば EMP |
[FIELD1_NAME] | テーブル フィールド名。例えば EMPNAME |
[COLUMN_list] | 列のコンマ区切りリスト。例えば NAME |
[SELECT_query] | 一括挿入操作の QUERY 要素で指定された SQL SELECT ステートメント。例えば SELECT * from MyTable |
[WHERE_clause] | 操作に使用する SELECT ステートメントのWHERE_clause。例えば ID > 10 |
Von Bedeutung
ビューに対する基本的なテーブル操作のメッセージ構造はテーブルのメッセージ構造と同じですが、操作の名前空間はテーブルではなくビューを指定します: <Insert xmlns ="[VERSION]/[SCHEMA]/``View``/[VIEW_NAME]">
。
基本的なテーブル操作のメッセージ アクション
次の表は、Oracle Database アダプターがテーブルに対する基本的なテーブル操作に使用するメッセージ アクションを示しています。 Oracle データベース アダプターは、メッセージ アクションで指定されたテーブル名を使用して、操作のターゲット テーブルを決定します。
オペレーション | メッセージ アクション | 例 |
---|---|---|
[挿入] | [VERSION]/[SCHEMA]/テーブル/[TABLE_NAME]/挿入 | http://Microsoft.LobServices.OracleDB/2007/03/SCOTT/Table/EMP/Insert |
応答の挿入 | [VERSION]/[SCHEMA]/Table/[TABLE_NAME]/Insert/response | http://Microsoft.LobServices.OracleDB/2007/03/SCOTT/Table/EMP/Insert/response |
選択する | [VERSION]/[SCHEMA]/Table/[TABLE_NAME]/Select | http://Microsoft.LobServices.OracleDB/2007/03/SCOTT/Table/EMP/Select |
応答の選択 | [VERSION]/[SCHEMA]/Table/[TABLE_NAME]/Select/response | http://Microsoft.LobServices.OracleDB/2007/03/SCOTT/Table/EMP/Select/response |
更新 | [VERSION]/[SCHEMA]/Table/[TABLE_NAME]/Update | http://Microsoft.LobServices.OracleDB/2007/03/SCOTT/Table/EMP/Update |
応答の更新 | [VERSION]/[SCHEMA]/Table/[TABLE_NAME]/更新/応答 | http://Microsoft.LobServices.OracleDB/2007/03/SCOTT/Table/EMP/Update/response |
削除 | [VERSION]/[SCHEMA]/Table/[TABLE_NAME]/削除 | http://Microsoft.LobServices.OracleDB/2007/03/SCOTT/Table/EMP/Delete |
応答の削除 | [VERSION]/[SCHEMA]/Table/[TABLE_NAME]/Delete/response | http://Microsoft.LobServices.OracleDB/2007/03/SCOTT/Table/EMP/Delete/response |
[VERSION] = メッセージのバージョン文字列。たとえば、 http://Microsoft.LobServices.OracleDB/2007/03
。
[SCHEMA] = Oracle アーティファクトのコレクション。たとえば、SCOTT です。
[TABLE_NAME] = テーブルの名前。たとえば、EMP です。
Von Bedeutung
ビューに対する操作のメッセージ アクションは、"View" が "Table" に置き換えられる点を除き、テーブルの場合と同じです。たとえば、 http://Microsoft.LobServices.OracleDB/2007/03/SCOTT/``View``/EMPVIEW/Insert
。