Share via


Excluindo dados usando diagramas de atualização XML (SQLXML 4.0)

Um diagrama de atualização indica uma operação de exclusão quando uma instância de registro aparece no bloco <before> sem registros correspondentes no bloco <after>. Nesse caso, o diagrama exclui o registro no bloco <before> do banco de dados.

Este é o formato do diagrama de atualização em uma operação de exclusão:

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

Você pode omitir o sinalizador <after> se o diagrama estiver executando uma única operação de exclusão. Se você não especificar o atributo opcional mapping-schema, o <ElementName> especificado no diagrama será mapeado para uma tabela de banco de dados e os elementos filho ou atributos para as colunas da tabela.

Se um elemento especificado no diagrama corresponder a mais de uma linha na tabela ou não corresponder a nenhuma linha, o diagrama retornará um erro e cancelará todo o bloco <sync>. Só um registro de cada vez pode ser excluído por um elemento no diagrama.

Exemplos

Os exemplos desta seção usam o mapeamento padrão (ou seja, nenhum esquema de mapeamento é especificado no diagrama de atualização). Para obter mais exemplos de diagramas de atualização que usam esquemas de mapeamento, consulte Especificando um esquema de mapeamento anotado em um diagrama de atualização (SQLXML 4.0).

Para criar exemplos de funcionamento com base nos exemplos a seguir, você deve atender aos requisitos especificados em Requisitos para executar exemplos do SQLXML.

A. Excluindo um registro usando um diagrama de atualização

Os diagramas a seguir excluem dois registros da tabela HumanResources.Shift.

Nestes exemplos, o diagrama não especifica um esquema de mapeamento. Portanto, o diagrama usa o mapeamento padrão no qual o nome de elemento é mapeado para o nome de tabela e os atributos ou subelementos para as colunas.

Este primeiro diagrama é centrado em atributo e identifica dois turnos (Dia-Tarde e Tarde-Noite) no bloco <before>. Pelo fato de não haver registro correspondente no bloco <after>, esta é uma operação de exclusão.

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

Para testar o diagrama de atualização

  1. Conclua o exemplo B ("Inserindo vários registros usando um diagrama de atualização") em Inserindo dados usando diagramas de atualização XML (SQLXML 4.0).

  2. Copie o diagrama acima para o Bloco de Notas e salve-o como Updategram-RemoveShifts.xml na mesma pasta usada para concluir ("Inserindo vários registros usando um diagrama de atualização") em Inserindo dados usando diagramas de atualização XML (SQLXML 4.0).

  3. Crie e use o script de teste SQLXML 4.0 (Sqlxml4test.vbs) para executar o diagrama de atualização.

    Para obter mais informações, consulte Usando o ADO para executar consultas do SQLXML 4.0.