使用 XML Updategram 刪除資料 (SQLXML 4.0)
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
使用 XML Updategram 插入數據中的完整範例 B (“使用 Updategram 插入多個記錄”)(SQLXML 4.0)。
將上述的 Updategram 複製到記事本,並將它儲存為與用來完成相同的資料夾中的Updategram-RemoveShifts.xml,在使用 XML Updategrams 插入數據中 [使用 Updategram 插入多個記錄] (SQLXML 4.0)。
建立並使用 SQLXML 4.0 測試腳本 (Sqlxml4test.vbs) 來執行 updategram。
如需詳細資訊,請參閱使用 ADO 執行 SQLXML 4.0 查詢。