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

當記錄執行個體出現在 <before> 區塊,但在 <after> 區塊中沒有對應記錄時,Updategram 代表刪除作業。在這種情況下,Updategram 會將 <before> 區塊中的記錄從資料庫刪除。

下列是刪除作業的 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> 標記。如果沒有指定選擇性的 mapping-schema 屬性,則在 Updategram 中指定的 <ElementName> 會對應至資料庫資料表,子元素或屬性則會對應至資料表中的資料行。

如果在 Updategram 中指定的元素符合資料表中一個以上的資料列,或者不符合任何資料列,Updategram 就會傳回錯誤並取消整個 <sync> 區塊。Updategram 中的元素一次只能刪除一個記錄。

範例

本章節中的範例會使用預設對應 (也就是說,Updategram 中不會指定任何對應結構描述)。如需使用對應結構描述的其他 Updategram 範例,請參閱<在 Updategram 中指定註解式對應結構描述 (SQLXML 4.0)>。

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

A. 使用 Updategram 刪除記錄

下列 Updategram 會從 HumanResources.Shift 資料表刪除兩筆記錄。

在這些範例中,Updategram 不會指定對應結構描述。因此 Updategram 會使用預設對應,其中元素的名稱會對應到資料表名稱,而屬性或子元素則會對應到資料行。

這個第一個 Updategram 以屬性為中心,而且會識別 <before> 區塊中的兩個值班時間 (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>

測試 Updategram

  1. 完成使用 XML Updategram 插入資料 (SQLXML 4.0)中的範例 B (「使用 Updategram 插入多筆記錄」)。

  2. 將上述的 Updategram 複製到記事本,將其儲存為 Updategram-RemoveShifts.xml 並放在使用 XML Updategram 插入資料 (SQLXML 4.0)中用來完成 (「使用 Updategram 插入多筆記錄」) 範例的相同資料夾中。

  3. 建立及使用 SQLXML 4.0 測試指令碼 (Sqlxml4test.vbs) 以執行 Updategram。

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