Share via


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

Aplica-se a:SQL ServerBanco de Dados SQL do Azure

Um updategram indica uma operação de exclusão quando uma instância de registro aparece no <bloco anterior> sem registros correspondentes no <bloco após> . Nesse caso, o updategram exclui o registro no <bloco anterior> 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ê poderá omitir a <marca após> se o updategram estiver executando apenas uma operação de exclusão. Se você não especificar o atributo opcional mapping-schema , o <ElementName> especificado no updategram será mapeado para uma tabela de banco de dados e os elementos filho ou atributos serão mapeados para colunas na tabela.

Se um elemento especificado no updategram corresponder a mais de uma linha na tabela ou não corresponder a nenhuma linha, o updategram retornará um erro e cancelará todo <o bloco de sincronização> . 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 updategrams que usam esquemas de mapeamento, consulte Especificando um esquema de mapeamento anotado em um updategram (SQLXML 4.0).

Para criar exemplos de trabalho usando os exemplos a seguir, você deve atender aos requisitos especificados em Requisitos para executar exemplos 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 updategram é centrado em atributo e identifica dois turnos (Day-Evening e Evening-Night) no <bloco anterior> . Como não há nenhum registro correspondente no <bloco após> , essa é 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 updategram") em Inserindo dados usando atualizações XML (SQLXML 4.0).

  2. Copie o updategram acima para o Bloco de Notas e salve-o como Updategram-RemoveShifts.xml na mesma pasta que foi usada para concluir ("Inserindo vários registros usando um updategram") em Inserir dados usando updategrams 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 SQLXML 4.0.

Consulte Também

Considerações sobre segurança para diagramas de atualização (SQLXML 4.0)