Microsoft BizTalk Adapter for Oracle Database では、各 Oracle データベース テーブルとビューに対する一連の標準操作が表示されます。 これらの操作を使用すると、ターゲット テーブル (またはビュー) の WHERE 句によって修飾された単純な SQL INSERT、UPDATE、SELECT、DELETE ステートメントを実行できます。 これらの操作は、データ操作言語 (DML) 操作とも呼ばれます。 JOIN 演算子を使用する SQL SELECT クエリなど、より複雑な操作を実行するには、SQLEXECUTE 操作を使用できます。 SQLEXECUTE 操作の詳細については、「 Oracle Database での SQLEXECUTE 操作」を参照してください。
次の表は、Oracle Database アダプターがサポートする DML 操作を示しています。
操作 | 説明 |
---|---|
挿入 | ターゲット テーブルまたはビューに対して挿入操作を実行します。 挿入操作では、ターゲット テーブルまたはビューへの複数のレコードまたは一括挿入がサポートされます。 - 複数レコード挿入操作では、指定されたレコード セットに基づいてテーブルまたはビューに行が挿入されます。 - 一括挿入操作では、指定された SQL SELECT クエリと列リストに基づいて、テーブルまたはビューに行が挿入されます。 クエリから返されるレコードは、列リストに基づいてターゲット テーブルに挿入されます。 挿入操作の戻り値は、挿入された行の数です。 メモ: 複数レコード挿入と一括挿入の両方を同じメッセージに結合することはできません。 InlineValue 複数レコード挿入操作のすべての単純なデータ レコードに対して、 InlineValue という省略可能な属性の値を指定することで、レコードの値をオーバーライドできます。 InlineValue 属性を使用すると、シーケンスを使用して主キー列を設定したり、システム日付 (SYSDATE を使用) を日付列に挿入したりするなどの計算値をテーブルまたはビューに挿入できます。 たとえば、次の INSERT ステートメントでは次のようになります。 <Insert xmlns="http://Microsoft.LobServices.OracleDB/2007/03/SCOTT/Table/ACCOUNTACTIVITY"> <RECORDSET> <ACCOUNTACTIVITYRECORDINSERT> <ACCOUNT>10001</ACCOUNT> <EMPNAME>John</EMPNAME> <AMOUNT>1500</AMOUNT> <TRANSDATE InlineValue="SYSDATE">2008-06-21T15:52:19</TRANSDATE> </ACCOUNTACTIVITYRECORDINSERT > </RECORDSET> </Insert> TRANSDATE 列の値として "2008-06-21T15:52:19" が指定されていても、InlineValue 属性 "SYSDATE" (システム日付) の値がターゲット テーブルに挿入されます。 InlineValue 属性の使用中: - InlineValue 属性に定数値を使用しないでください。 たとえば、INSERT ステートメントで を指定 <EMPNAME InlineValue="John"/> すると、エラーが発生します。 これは、InlineValue 属性の値がそのまま Oracle に渡され、この場合 、John は Oracle データベースに渡され、予期される値ではありません (予期される値は 'John' です)。 従業員名の周囲に単一引用符を使用する必要があります。 (例: <EMPNAME InlineValue="’John’"/> )。- InlineValue 属性に対して選択クエリを使用する場合は、SELECT ステートメントをかっこで囲み、選択クエリが 1 つのレコードのみをフェッチするようにする必要があります。 (例: <EMPNAME InlineValue="(SELECT NAME FROM MS_SAMPLE_EMPLOYEES WHERE ID=123)"/> )。メモ: Oracle データベースで要素が NOT NULL としてマークされている場合は、インライン値を指定した場合でも、その要素の値を指定する必要があります。 これを行わないと、スキーマの検証が失敗します。 |
Select | 指定された列名の一覧と SQL WHERE 句を指定するフィルター文字列に基づいて、ターゲット テーブルまたはビューに対して SQL SELECT クエリを実行します。 Select 操作の戻り値は、指定された列と行を含む厳密に型指定された結果セットです。 |
更新 | ターゲット テーブルまたはビューに対して Update 操作を実行します。 更新するレコードは、SQL WHERE 句を指定するフィルター文字列によって指定されます。 更新プログラムの値は、テンプレート レコードで指定されます。 Update 操作の戻り値は、更新された行数です。 |
削除 | フィルター文字列で指定された SQL WHERE 句に基づいて、ターゲット テーブルまたはビューに対して Delete 操作を実行します。 Delete 操作の戻り値は、削除された行の数です。 |
詳細情報は、次のとおりです。
BizTalk Serverを使用してこれらの操作を実行する方法については、「BizTalk Serverを使用した操作の挿入、更新、削除、および選択」を参照してください。
WCF サービス モデルを使用してこれらの操作を実行する方法については、「WCF サービス モデルを 使用した操作の挿入、更新、削除、および選択」を参照してください。
WCF チャネル モデルを使用してこれらの操作を実行する方法については、「WCF チャネル モデルを使用して Oracle Database で挿入操作を実行する」を参照してください。
DML 操作を実行するためのメッセージ構造と SOAP アクションについては、「 テーブルとビューに対する基本的な挿入、更新、削除、および選択操作のメッセージ スキーマ」を参照してください。