Share via


XML アップデートグラムを使用した、データの削除 (SQLXML 4.0)

アップデートグラムで、レコード インスタンスが <before> ブロックにあり、対応するレコードが <after> ブロックにない場合は、削除操作であることを示します。この場合、アップデートグラムでは <before> ブロック内のレコードがデータベースから削除されます。

削除操作のアップデートグラムの形式は次のとおりです。

<ROOT xmlns:updg="urn:schemas-microsoft-com:xml-updategram">
  <updg:sync [mapping-schema="SampleSchema.xml"]  >
   <updg:before>
       <ElementName />
      [<ElementName .../>... ]
   </updg:before>
    [<updg:after>
    </updg:after>]
  </updg:sync>
</ROOT>

アップデートグラムで削除操作のみを実行する場合は、<after> タグを省略できます。mapping-schema 属性を省略すると、アップデートグラムで指定される <ElementName> はデータベース テーブルにマップされ、子要素または属性はテーブル内の列にマップされます。

アップデートグラムで指定される要素がテーブル内の複数の行に一致するか、どの行とも一致しない場合、アップデートグラムではエラーが返され、<sync> ブロック全体がキャンセルされます。アップデートグラム内の要素で削除できるのは、一度に 1 つのレコードだけです。

この例では、アップデートグラムでマッピング スキーマを指定せず、既定のマッピングを使用します。マッピング スキーマを使用するアップデートグラムの例については、「アップデートグラムでの注釈付きマッピング スキーマの指定 (SQLXML 4.0)」を参照してください。

次の例を使用した実際のサンプルを作成するには、「SQLXML のサンプル実行のための必要条件」で指定される条件を満たす必要があります。

A. アップデートグラムを使用してレコードを削除する

次のアップデートグラムでは、HumanResources.Shift テーブルから 2 つのレコードを削除します。

この例のアップデートグラムでは、マッピング スキーマを指定しません。したがって、アップデートグラムでは既定のマッピングが使用されます。このマッピングでは、要素名はテーブル名にマップされ、属性または副要素は列にマップされます。

最初のアップデートグラムは属性中心で、<before> ブロック内に 2 つの勤務時間 (日中から夕方と、夕方から夜) を指定します。<after> ブロックには対応するレコードがないため、これは削除操作になります。

<ROOT xmlns:updg="urn:schemas-microsoft-com:xml-updategram">
<updg:sync >
  <updg:before>
       <HumanResources.Shift ShiftID="4"
                        Name="Day-Evening"
                        StartTime="1900-01-01 11:00:00.000"
                        EndTime="1900-01-01 19:00:00.000"
                        ModifiedDate="2004-01-01 00:00:00.000" />
       <HumanResources.Shift ShiftID="5"
                        Name="Evening-Night"
                        StartTime="1900-01-01 19:00:00.000"
                        EndTime="1900-01-01 03:00:00.000"
                        ModifiedDate="2004-01-01 00:00:00.000" />
  </updg:before>
  <updg:after>
  </updg:after>
</updg:sync>
</ROOT>

アップデートグラムをテストするには

  1. XML アップデートグラムを使用した、データの挿入 (SQLXML 4.0)」の例 B「XML アップデートグラムを使用したデータの挿入 (SQLXML 4.0)」を実行します。

  2. 上のアップデートグラムをメモ帳にコピーし、「XML アップデートグラムを使用した、データの挿入 (SQLXML 4.0)」の「アップデートグラムを使用して複数のレコードを挿入する」で使用したフォルダに Updategram-RemoveShifts.xml として保存します。

  3. SQLXML 4.0 テスト スクリプト (Sqlxml4test.vbs) を作成し、それを使用してアップデートグラムを実行します。

    詳細については、「ADO を使用した、SQLXML 4.0 クエリの実行」を参照してください。

参照

関連項目

アップデートグラムのセキュリティに関する注意点 (SQLXML 4.0)

ヘルプおよび情報

SQL Server 2005 の参考資料の入手