資料表和檢視上的插入、更新、刪除和選取作業的訊息結構描述
適用于SQL Server的 Microsoft BizTalk 配接器會顯示SQL Server資料庫中每個資料表和檢視的插入、更新、刪除和選取作業。 這些作業會執行 WHERE 子句限定的適當 SQL 語句。 SQL 配接器會在這些作業中使用強型別記錄和記錄集。
資料表作業的訊息結構
下表顯示 SQL 配接器在 SQL Server 資料庫資料表上公開之基本資料表作業的 XML 訊息結構。 作業的目標資料表是在訊息動作中指定,也會出現在目標命名空間中。
作業 | XML 訊息 | Description | 配接器執行的 SQL |
---|---|---|---|
插入 | <Insert xmlns="[VERSION]/TableOp/[SCHEMA]/[TABLE_NAME]"> <Rows> <[TABLE_NAME]> <[FIELD1_NAME]>value1</[FIELD1_NAME]> <[FIELD2_NAME]>value2</[FIELD2_NAME]> … </[TABLE_NAME]> </Rows> </Insert> |
將提供的強型別資料記錄集插入目標資料表。 | INSERT INTO TABLE_NAME (FIELD1_NAME, FIELD2_NAME, …) VALUES (value1, value2, …); |
插入回應 | <InsertResponse xmlns="[VERSION]/TableOp/[SCHEMA]/[TABLE_NAME]"> <InsertResult> <long>[Value]</long> </InsertResult> </InsertResponse> |
插入回應訊息包含 LONG 資料型別的陣列。 陣列會儲存插入資料列的識別值,如果有的話。 如果資料表中沒有識別欄位,則傳回值為 Null。 | -- |
選取 | 選取所有記錄:<Select xmlns="[VERSION]/TableOp/[SCHEMA]/[TABLE_NAME]"> <Columns>*</COLUMNS> <Query></Query> </Select> 選取一組記錄中的特定資料行: <Select xmlns="[VERSION]/TableOp/[SCHEMA]/[TABLE_NAME]"> <Columns>[COLUMN_list]</COLUMNS> <Query>where [WHERE_clause]</Query> </Select> 在選取作業中更新記錄: <Select xmlns="[VERSION]/TableOp/[SCHEMA]/[TABLE_NAME]"> <Columns>[COLUMN_list]</Columns> <Query>where [WHERE_clause];UPDATE [TABLE_NAME] SET [FIELD1_NAME] = [value1] where [WHERE_clause]</Query> </Select> |
SELECT 查詢會使用 元素中指定的 WHERE 子句,在目標資料表上執行。 結果集包含 Columns > 元素中所 < 指定資料行名稱逗號分隔清單中的資料行。 必須提供 Columns > 元素中的 < 值。 如果所有資料行都必須在資料表或檢視中擷取,則必須在 Columns > 元素中 < 指定 * 。 如果必須擷取特定資料行,資料行名稱必須以逗號分隔,並以與資料表或檢視中所定義的順序相同來指定。 在 SELECT 語句中包含 WHERE 子句是必要的。 如果您不想指定 WHERE 子句,可以刪除 < Query > 元素,或將它保留空白。 您可以使用 [選取] 作業來更新記錄。 UPDATE 語句會放在 < SELECT 要求 XML 的 Query > 元素中,並以分號分隔 WHERE 子句。 請注意,UPDATE 語句不會在 SELECT 語句的結果集上運作。 |
選取所有記錄:SELECT * FROM [TABLE_NAME] WHERE [WHERE_clause]; 選取一組記錄中的特定資料行: SELECT [COLUMN_list] FROM [TABLE_NAME] WHERE [WHERE_clause]; 在選取作業中更新記錄: SELECT [COLUMN_list] FROM [TABLE_NAME] WHERE [WHERE_clause]; UPDATE [TABLE_NAME] SET [FIELD1_NAME] = value1 [WHERE_clause]; |
選取回應 | <SelectResponse xmlns="[VERSION]/TableOp/[SCHEMA]/[TABLE_NAME]"> <SelectResult> <[TABLE_NAME]> <[FIELD1_NAME]>[value1]</[FIELD1_NAME]> <[FIELD2_NAME]>[value2]</[FIELD2_NAME]> … </[TABLE_NAME]> </SelectResult> <SelectResponse> |
SELECT 查詢所產生的強型別結果集。 | -- |
更新 | <SelectResponse xmlns="[VERSION]/TableOp/[SCHEMA]/[TABLE_NAME]"> <SelectResult> <[TABLE_NAME]> <[FIELD1_NAME]>[value1]</[FIELD1_NAME]> <[FIELD2_NAME]>[value2]</[FIELD2_NAME]> … </[TABLE_NAME]> </SelectResult> </SelectResponse> <Update xmlns="[VERSION]/TableOp/[SCHEMA]/[TABLE_NAME]"> <Rows> <RowPair> <After> <[FIELD1_NAME]>[value1]</[FIELD1_NAME]> <[FIELD2_NAME]>[value2]</[FIELD2_NAME]> … </After> <Before> <[FIELD1_NAME]>[value3]</[FIELD1_NAME]> <[FIELD2_NAME]>[value4]</[FIELD2_NAME]> … </Before> </RowPair> </Rows> </Update> |
接受記錄組陣列做為輸入。 每個記錄組都是兩個強型別記錄的集合: 元素中的 <After> 第一筆記錄 () 對應至需要更新的新值。) 中的 <Before> 第二筆記錄 (會對應至資料列的舊值。 |
UPDATE [TABLE_NAME] SET [FIELD1_NAME] = value1, [FIELD2_NAME] = value2, … WHERE [FIELD1_NAME] = value3, [FIELD2_NAME] = value4, …; |
更新回應 | <UpdateResponse xmlns="[VERSION]/TableOp/[SCHEMA]/[TABLE_NAME]"> <UpdateResult>[rows updated]</UpdateResult> </UpdateResponse> |
UpdateResult元素中會傳回更新的資料列數目。 | -- |
刪除 | <Delete xmlns="[VERSION]/TableOp/[SCHEMA]/[TABLE_NAME]"> <Rows> <[TABLE_NAME]> <[FIELD1_NAME]>value1</[FIELD1_NAME]> <[FIELD2_NAME]>value2</[FIELD2_NAME]> … </[TABLE_NAME]> </Rows> </Delete> |
-- | DELETE FROM [TABLE_NAME] WHERE [FIELD1_NAME] = value1, [FIELD2_NAME] = value2, …; |
刪除回應 | <DeleteResponse xmlns="[VERSION]/TableOp/[SCHEMA]/[TABLE_NAME]"> <DeleteResult>[rows deleted]</DeleteResult> </DeleteResponse> |
DeleteResult元素中會傳回已刪除的資料列數目。 | -- |
[VERSION] = 訊息版本字串;例如, http://schemas.microsoft.com/Sql/2008/05
。
[SCHEMA] = SQL Server成品的集合;例如 dbo。
[TABLE_NAME] = 資料表的名稱;例如,Employee。
[FIELD1_NAME] = 資料表功能變數名稱;例如,NAME。
[COLUMN_list] = 以逗號分隔的資料行清單;例如,Name、Age、指定。
[SELECT_query] = 大量插入作業之 QUERY 元素中指定的 SQL SELECT 語句;例如,「SELECT * from MyTable」
[WHERE_clause] = WHERE_clause用於作業的 SELECT 語句;例如,識別碼 > 10。
重要
檢視表上基本資料表作業的訊息結構與資料表上的訊息結構相同,不同之處在于檢視表會取代資料表: Insert xmlns="[VERSION]/ViewOp/[SCHEMA]/[VIEW_NAME]"
。
基本資料表作業的訊息動作
下表顯示 SQL 配接器針對資料表上基本資料表作業所使用的訊息動作。 SQL 配接器會使用訊息動作中指定的資料表名稱來判斷作業的目標資料表。
作業 | 郵件動作 | 範例 |
---|---|---|
插入 | TableOp/Insert/[SCHEMA]/[TABLE_NAME] | TableOp/Insert/dbo/Employee |
插入回應 | TableOp/Insert/[SCHEMA]/[TABLE_NAME]/response | TableOp/Insert/dbo/Employee/response |
選取 | TableOp/Select/[SCHEMA]/[TABLE_NAME] | TableOp/Select/dbo/Employee |
選取回應 | TableOp/Select/[SCHEMA]/[TABLE_NAME]/response | TableOp/Select/dbo/Employee/response |
更新 | TableOp/Update/[SCHEMA]/[TABLE_NAME] | TableOp/Update/dbo/Employee |
更新回應 | TableOp/Update/[SCHEMA]/[TABLE_NAME]/response | TableOp/Update/dbo/Employee/response |
刪除 | TableOp/Delete/[SCHEMA]/[TABLE_NAME] | TableOp/Delete/dbo/Employee |
刪除回應 | TableOp/Delete/[SCHEMA]/[TABLE_NAME]/response | TableOp/Delete/dbo/Employee/response |
[SCHEMA] = SQL Server成品的集合;例如 dbo。
[TABLE_NAME] = 資料表的名稱;例如,Employee。
重要
檢視上作業的訊息動作與資料表的訊息動作相同,但 「ViewOp」 取代 「TableOp」 除外;例如, ViewOp``/Insert/dbo/Employee_View
。