使用 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 仅执行删除作,则可以省略 <后> 标记。 如果未指定可选 mapping-schema 属性, <updategram 中指定的 ElementName> 将映射到数据库表,子元素或属性映射到表中的列。

如果 updategram 中指定的元素匹配表中的多个行,或者与任何行不匹配,则 updategram 将返回错误并取消整个 <同步> 块。 updategram 中的元素一次只能删除一条记录。

例子

本节中的示例使用默认映射(即,updategram 中未指定映射架构)。 有关使用映射架构的更新报的更多示例,请参阅在 Updategram 中指定带批注的映射架构(SQLXML 4.0)。

若要使用以下示例创建工作示例,必须满足 运行 SQLXML 示例的要求中指定的要求。

答: 使用 updategram 删除记录

以下 updategram 从 HumanResources.Shift 表中删除两条记录。

在这些示例中,updategram 未指定映射架构。 因此,updategram 使用默认映射,其中元素名称映射到表名,属性或子元素映射到列。

第一个 updategram 以属性为中心,在前>块中<标识两个班次(Day-Evening 和 Evening-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 插入数据”(SQLXML 4.0)中的完整示例 B(“使用 updategram 插入多个记录”。

  2. 将上面的 updategram 复制到记事本,并将其另存为 Updategram-RemoveShifts.xml,与用于完成(“使用 updategram 插入多个记录”)中的 “使用 XML 更新报(SQLXML 4.0)插入数据”相同。

  3. 创建并使用 SQLXML 4.0 测试脚本(Sqlxml4test.vbs)执行 updategram。

    有关详细信息,请参阅使用 ADO 执行 SQLXML 4.0 查询

另请参阅

Updategram 安全注意事项 (SQLXML 4.0)