Partilhar via


Usando as anotações sql:identity e sql:guid

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

Pode especificar as anotações sql:identity e sql:guid num esquema XSD em qualquer nó que corresponda a uma coluna de base de dados no Microsoft SQL Server. Enquanto o formato updategram suporta os atributos updg:at-identity e updg:guid , o formato DiffGram não suporta. O atributo updg:at-identity define o comportamento na atualização de uma coluna do tipo IDENTITY. O atributo updg:guid permite obter um valor GUID do SQL Server e usá-lo no updategram. Para mais informações e exemplos de trabalho, consulte Inserir Dados Usando Atualizações XML (SQLXML 4.0).

As anotações sql:identity e sql:guid estendem esta funcionalidade aos DiffGrams.

Quando executas um DiffGram, primeiro é convertido num updategram, e depois o updategram é executado. Ao especificar as anotações sql:identity e sql:guid no esquema XSD, está, de facto, a definir o comportamento de um updategram. Portanto, todas as anotações são descritas no contexto de um updategram. As anotações podem ser usadas tanto para DiffGrams como para updategrams; no entanto, os updategrams já fornecem uma forma mais poderosa de gerir valores de identidade e GUID.

As anotações sql:identity e sql:guid podem ser definidas num elemento de conteúdo complexo.

Anotação sql:identity

Pode especificar a anotação sql:identity no esquema XSD em qualquer nó que corresponda a uma coluna de base de dados do tipo IDENTITY. O valor especificado para esta anotação define como a coluna do tipo IDENTITY é atualizada (seja usando o valor fornecido no updategram para modificar a coluna, seja ignorando o valor, caso em que é usado um valor gerado pelo SQL Server para esta coluna).

A anotação sql:identity pode ter dois valores:

ignorar
Orienta o updategram a ignorar qualquer valor fornecido no updategram para essa coluna e a confiar no SQL Server para gerar o valor de identidade.

useValue
Orienta o updategram a usar o valor fornecido no updategram para atualizar a coluna do tipo IDENTITY. Um updategram não verifica se a coluna é um valor identidade ou não.

Se o updategram especificar um valor para a coluna IDENTITY-type, o sql:identity="useValue" deve ser especificado no esquema.

Anotação sql:guid

Um updategram pode fazer com que o SQL Server gere um valor GUID e depois use esse valor no updategram. No contexto dos DiffGrams, pode usar a anotação sql:guid para especificar se deve usar um valor GUID gerado pelo SQL Server ou usar o valor fornecido no updategram para essa coluna.

A anotação sql:guid pode ter dois valores atribuídos:

gerar
Especifica que o GUID gerado pelo SQL Server seja usado para essa coluna na operação de atualização.

useValue
Especifica que o valor especificado no updategram deve ser usado para a coluna. Este é o valor padrão.