Поделиться через


Удаление данных с помощью диаграмм обновления XML (SQLXML 4.0)

Область применения: SQL Server База данных SQL Azure

Диаграмма обновления указывает операцию удаления, когда экземпляр записи отображается в блоке перед> отсутствием соответствующих записей в блоке <после> блокировки.< В этом случае диаграмма обновления удаляет запись в <блоке перед> блокировкой из базы данных.

Формат диаграммы обновления для операции удаления:

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

Если диаграмма обновления выполняет только операцию удаления, можно пропустить <тег после> этого. Если атрибут схемы сопоставления не указан, имя элемента>, указанное в диаграмме обновления, <сопоставляется с таблицей базы данных и дочерними элементами или атрибутами, сопоставленными столбцам в таблице.

Если элемент, указанный в диаграмме обновления, совпадает с несколькими строками в таблице или не соответствует ни одной строке, она возвращает ошибку и отменяет весь <блок синхронизации> . В каждый момент времени лишь одна запись может быть удалена элементом в диаграмме обновления.

Примеры

В примерах этого раздела используется сопоставление по умолчанию (то есть в диаграмме обновления схема сопоставления не указана). Дополнительные примеры схем обновлений, использующих схемы сопоставления, см. в разделе "Указание схемы аннотированного сопоставления" в диаграмме обновления (SQLXML 4.0).

Чтобы создать рабочие примеры с помощью следующих примеров, необходимо выполнить требования, указанные в разделе "Требования для выполнения примеров SQLXML".

А. Удаление записи с помощью диаграммы обновления

Следующие диаграммы обновления удаляют две записи из таблицы HumanResources.Shift.

В этих примерах диаграмма обновления не указывает схему сопоставления. Поэтому диаграмма обновления использует сопоставление по умолчанию, в котором имя элемента соответствует имени таблицы, а атрибуты и вложенные элементы соответствуют столбцам.

Эта первая диаграмма обновления ориентирована на атрибуты и определяет два смены (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>  
Тестирование диаграммы обновления
  1. Полный пример B ("Вставка нескольких записей с помощью диаграммы обновления") в вставке данных с помощью xml-обновлений (SQLXML 4.0).

  2. Скопируйте указанную выше диаграмму обновления в Блокнот и сохраните ее как Updategram-RemoveShifts.xml в той же папке, что и для завершения ("Вставка нескольких записей с помощью диаграммы обновления") в вставке данных с помощью таблиц обновления XML (SQLXML 4.0).

  3. Создайте тестовый скрипт SQLXML 4.0 (Sqlxml4test.vbs) и воспользуйтесь им для выполнения диаграммы обновления.

    Дополнительные сведения см. в разделе "Использование ADO для выполнения запросов SQLXML 4.0".

См. также

Вопросы безопасности диаграмм обновления (SQLXML 4.0)