Share via


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

適用対象:SQL ServerAzure SQL Database

更新プログラムは、レコード インスタンスが 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> はデータベース テーブルにマップされ、子要素または属性はテーブル内の列にマップされます。

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

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

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

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

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

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

この最初のアップデートグラムは属性中心であり、before> ブロックの 2 つのシフト (Day-Evening と Evening-Night) を<識別します。 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 (「アップデートグラムを使用して複数のレコードを挿入する」)。

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

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

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

参照

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