對資料表和檢視表的基本插入、更新、刪除和選取作業的訊息結構描述
Microsoft BizTalk Adapter for Oracle Database 會顯示 Oracle 資料庫中每個資料表和檢視的基本插入、更新、刪除和選取作業。 這些作業會執行 WHERE 子句限定的適當 SQL 語句。 Oracle 資料庫配接器會在這些作業中使用強型別記錄和記錄集。
基本資料表作業的訊息結構
下表顯示 Oracle 資料庫資料表上 Oracle 資料庫配接器所公開之基本資料表作業的 XML 訊息結構。 作業的目標資料表是在訊息動作中指定,也會出現在目標命名空間中。
插入
插入作業有下列類型。 訊息只能包含一種插入作業。
- 多重記錄插入會將提供的記錄集強型別資料插入目標資料表中。
- 針對多個記錄插入中的每個記錄,您可以指定名為 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 中指定的值。 每個相符資料列只會更新 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>
預留位置值 | Description |
---|---|
[VERSION] | 訊息版本字串;例如, 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 資料庫配接器用於資料表上基本資料表作業的訊息動作。 Oracle 資料庫配接器會使用訊息動作中指定的資料表名稱來判斷作業的目標資料表。
作業 | 訊息動作 | 範例 |
---|---|---|
插入 | [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 |
選取 | [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。
重要
檢視上作業的訊息動作與資料表的訊息動作相同,但 「檢視」會取代「資料表」;例如, http://Microsoft.LobServices.OracleDB/2007/03/SCOTT/``View``/EMPVIEW/Insert
。