テーブルとビューに対する挿入、更新、削除、選択の各操作のメッセージ スキーマ
SQL Server用 Microsoft BizTalk アダプターは、SQL Server データベース内の各テーブルとビューの挿入、更新、削除、および選択操作を表示します。 これらの操作は、WHERE 句で修飾された適切な SQL ステートメントを実行します。 SQL アダプターは、厳密に型指定されたレコードとレコード セットをこれらの操作で使用します。
テーブル操作のメッセージ構造
次の表は、SQL アダプターがデータベース テーブルで公開する基本的なテーブル操作の XML メッセージ構造SQL Server示しています。 操作のターゲット テーブルはメッセージ アクションで指定され、ターゲット名前空間にも表示されます。
操作 | XML メッセージ | 説明 | アダプターによって実行される 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 データ型の配列が含まれています。 配列には、挿入された行の ID 値 (存在する場合) が格納されます。 テーブルに ID 列がない場合、戻り値は NULL になります。 | -- |
Select | すべてのレコードの選択:<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> |
レコード ペアの配列を入力として受け取ります。 各レコード ペアは、厳密に型指定された 2 つのレコードのコレクションです。 最初の <After> レコード (要素内) は、更新する必要がある新しい値に対応します。2 番目のレコード (内) <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、Designation などです。
[SELECT_query] = 一括挿入操作の QUERY 要素で指定された SQL SELECT ステートメント。たとえば、"SELECT * from MyTable"
[WHERE_clause] = 操作に使用される SELECT ステートメントのWHERE_clause。たとえば、ID > 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 |
Select | 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
です。