Partilhar via


Eliminar Dados Usando Atualizações XML (SQLXML 4.0)

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

Um updategram indica uma operação de eliminação quando uma instância de registo aparece no <bloco antes> sem registos correspondentes no <bloco seguinte> . Neste caso, o updategram apaga o registo do <bloco antes> da base de dados.

Este é o formato updategram para uma operação de eliminaçã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>  

Podes omitir a <tag after> se o updategram estiver a realizar apenas uma operação de eliminação. Se não especificar o atributo opcional schema de mapeamento , o <ElementName> especificado no updategram mapeia para uma tabela de base de dados e os elementos ou atributos filhos mapeiam para colunas na tabela.

Se um elemento especificado no updategram corresponder a mais do que uma linha da tabela ou não corresponder a nenhuma linha, o updategram devolve um erro e cancela todo <o bloco de sincronização> . Apenas um registo de cada vez pode ser eliminado por um elemento no updategram.

Examples

Exemplos nesta secção utilizam o mapeamento por defeito (ou seja, nenhum esquema de mapeamento é especificado no updategram). 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 trabalho usando os exemplos a seguir, você deve atender aos requisitos especificados em Requisitos para execução de exemplos SQLXML.

A. Eliminar um registo usando um updategram

Os updategrams seguintes apagam dois registos da tabela HumanResources.Shift.

Nestes exemplos, o updategram não especifica um esquema de mapeamento. Portanto, o updategram utiliza o mapeamento por defeito, em que o nome do elemento corresponde ao nome da tabela e os atributos ou subelementos mapeiam a colunas.

Este primeiro updategram é centrado no atributo e identifica dois deslocamentos (Day-Evening e Evening-Night) no <bloco antes> . Como não existe registo correspondente no <bloco seguinte> , isto é uma operação de eliminaçã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 updategram
  1. Exemplo completo B ("Inserir múltiplos registos usando um updategram") em Inserir Dados Usando Atualizações XML (SQLXML 4.0).

  2. Copie o updategram acima para o Notepad e guarde-o como Updategram-RemoveShifts.xml na mesma pasta usada para completar ("Inserir múltiplos registos usando um updategram") em Inserir Dados Usando Atualizações XML (SQLXML 4.0).

  3. Crie e use o Script de Teste SQLXML 4.0 (Sqlxml4test.vbs) para executar o updategram.

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

Ver também

Considerações de segurança do Updategram (SQLXML 4.0)