ADO.NET Provider for REST

Build 23.0.8839

UPDATE 実行

UPDATE ステートメントが実行されると、本製品 はスキーマのMERGE メソッドを実行し、HTTP 更新リクエストを作成します。

このメソッドの詳細な例を見るには、スキーマのカスタマイズ を参照してください。

REST へのUpdate の実行

MERGE メソッドでは、Items in API Script の1つである_input アイテムに、更新するカラムが含まれます。例えば、次のステートメントを考えてみましょう。

UPDATE Persons 
SET Name='Ana Trujilo'
WHERE Id = '7' 

_input アイテムの属性を使用して、HTTP 更新リクエストでこれらのカラム値を設定できます。OData API では、これはHTTP OUT またはPATCH です。OData API で先の更新を行うためのPUT データは次のとおりです。

<entry xmlns:d="http://docs.oasis-open.org/odata/ns/data" xmlns:m="http://docs.oasis-open.org/odata/ns/metadata" xmlns="http://www.w3.org/2005/Atom">
  <id>http://services.odata.org/V4/OData/%28S%28tjlj1hwyun3kt2iv0ef21c2d%29%29/OData.svc//Persons(ID=4)</id>
  <category scheme="http://docs.oasis-open.org/odata/ns/scheme" term="ODataDemo.Person" />
  <content type="application/xml">
    <m:properties>
      <d:ID m:type="Edm.Int32">4</d:ID>
        <d:Name m:type="Edm.String">Ana Trujilo</d:Name>
    </m:properties>
  </content>
</entry>
サンプルスキーマの対応するMERGE メソッドでは、必須カラム、主キーが検証され、その後PUT データおよびURL で使用されます。インプットが提供されたかをチェックし、api:validate キーワードを伴わない場合には、ユーザーにアラートを出すことができます。

必要な属性が存在することを検証したら、PUT データにカラムの値を設定できます。"data" 属性をPUT データに設定します。api:set キーワードのボディは、このように長い、もしくは複数行の値を設定する際に便利です。

api:call キーワードは、HTTP 要求を行う操作を呼び出します。操作を呼び出す前に、api:set を使用してメソッド属性をapi:script キーワードのスコープ内で必要なHTTP メソッドに設定します。

<api:script method="MERGE">
  <api:set attr="method" value="PUT"/>
  <api:validate attr="_input.Id" desc="An Id is required to update." />
  <api:set attr="data">
    <entry xmlns:d="http://docs.oasis-open.org/odata/ns/data" xmlns:m="http://docs.oasis-open.org/odata/ns/metadata" xmlns="http://www.w3.org/2005/Atom">
      <api:set attr="uri" value="[uri]([_input.Id])" />
      <id>[uri]</id>
      <category scheme="http://docs.oasis-open.org/odata/ns/scheme" term="ODataDemo.Person" />
      <content type="application/xml">
        <m:properties>
          <d:ID m:type="Edm.Int32">[_input.Id]</d:ID>
          <api:check attr="_input.Name">
            <d:Name m:type="Edm.String">[_input.Name]</d:Name>
          </api:check>
        </m:properties>
      </content>
    </entry>
  </api:set>
  <api:call op="xmlproviderGet"/>
</api:script>

UPDATE ステートメントのコンポーネントにアクセス

MERGE メソッドでは、_query アイテムに次の属性が含まれます。

query次のステートメントのような、SQL ステートメント。
UPDATE Account SET Name='John' WHERE Id = @myId
tableSQL ステートメント内のテーブル。例えば、先のクエリのAccount です。
criteriaステートメントのWHERE 句。例えば、この例では次のWHERE 句です。
Id = @myId
nullupdatesnull 値またはnull パラメータ値を含む、UPDATE ステートメントのカンマ区切りのカラム。

キーワードの参照

このセクションで使われているキーワードの詳細情報は、API Script Reference を参照してください。

Copyright (c) 2024 CData Software, Inc. - All rights reserved.
Build 23.0.8839