テーブルとビューに対する挿入、更新、削除、選択の各基本操作のメッセージ スキーマ
Microsoft BizTalk Adapter for Oracle Database には、Oracle データベース内の各テーブルとビューの基本的な挿入、更新、削除、および選択操作が表示されます。 これらの操作は、WHERE 句によって修飾された適切な SQL ステートメントを実行します。 Oracle Database アダプターは、厳密に型指定されたレコードとレコード セットをこれらの操作で使用します。
基本的なテーブル操作のメッセージ構造
次の表は、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
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 で指定された値に更新されます。 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 |
重要
ビューに対する基本的なテーブル操作のメッセージ構造は、テーブルの場合と同じですが、操作の名前空間では、テーブル <Insert xmlns ="[VERSION]/[SCHEMA]/``View``/[VIEW_NAME]">
ではなくビューを指定します。
基本的なテーブル操作のメッセージ アクション
次の表は、Oracle Database アダプターがテーブルに対する基本的なテーブル操作に使用するメッセージ アクションを示しています。 Oracle Database アダプターは、メッセージ アクションで指定されたテーブル名を使用して、操作のターゲット テーブルを決定します。
操作 | メッセージ アクション | 例 |
---|---|---|
挿入 | [VERSION]/[SCHEMA]/Table/[TABLE_NAME]/Insert | 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 |
Select | [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]/Update/response | http://Microsoft.LobServices.OracleDB/2007/03/SCOTT/Table/EMP/Update/response |
削除 | [VERSION]/[SCHEMA]/Table/[TABLE_NAME]/Delete | 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 などです。
重要
ビューに対する操作のメッセージ アクションは、"View" が "Table" に置き換わる点を除き、テーブルの場合と同じです。たとえば、 http://Microsoft.LobServices.OracleDB/2007/03/SCOTT/``View``/EMPVIEW/Insert
です。