使用 XML Updategram 刪除資料 (SQLXML 4.0)

適用於:SQL ServerAzure SQL 資料庫

Updategram 表示當記錄實例出現在之前>區塊中<,且在區塊後面>沒有對應記錄時<,就會執行刪除作業。 在此情況下,updategram 會從資料庫刪除前>區塊中的<記錄。

這是刪除作業的 updategram 格式:

<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>  

如果 updategram 只執行刪除作業,則可以省略 <after> 標記。 如果您未指定選擇性 的對應架構 屬性, <updategram 中指定的 ElementName> 會對應至資料庫數據表,而子專案或屬性會對應至數據表中的數據行。

如果 updategram 中指定的專案符合數據表中的一個以上的數據列,或不符合任何數據列,Updategram 會傳回錯誤並取消整個 <同步> 區塊。 Updategram 中的元素一次只能刪除一筆記錄。

範例

本節中的範例會使用預設對應(也就是 updategram 中未指定對應架構)。 如需使用對應架構之 Updategram 的更多範例,請參閱 在 Updategram 中指定批注對應架構 (SQLXML 4.0)

若要使用下列範例建立工作範例,您必須符合執行 SQLXML 範例需求中指定的需求。

A. 使用 Updategram 刪除記錄

下列 Updategram 會從 HumanResources.Shift 數據表中刪除兩筆記錄。

在這些範例中,updategram 不會指定對應架構。 因此,updategram 會使用預設對應,其中元素名稱會對應至數據表名稱,而屬性或子元素會對應至數據行。

第一個 Updategram 是以屬性為中心的,並識別前>一個區塊中的<兩個班次(Day-Night 和 Night-Night)。 因為之後>區塊中<沒有對應的記錄,因此這是刪除作業。

<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>  
測試 updategram
  1. 使用 XML Updategram 插入數據中的完整範例 B (“使用 Updategram 插入多個記錄”)(SQLXML 4.0)。

  2. 將上述的 Updategram 複製到記事本,並將它儲存為與用來完成相同的資料夾中的Updategram-RemoveShifts.xml,在使用 XML Updategrams 插入數據中 [使用 Updategram 插入多個記錄] (SQLXML 4.0)。

  3. 建立並使用 SQLXML 4.0 測試腳本 (Sqlxml4test.vbs) 來執行 updategram。

    如需詳細資訊,請參閱使用 ADO 執行 SQLXML 4.0 查詢

另請參閱

Updategram 安全性考慮 (SQLXML 4.0)