Partilhar via


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

Aplica-se a: SQL Server Banco de Dados SQL do Azure

Você pode especificar as anotações sql:identity e sql:guid em um esquema XSD em qualquer nó mapeado para uma coluna de banco de dados no Microsoft SQL Server. Enquanto o formato updategram dá suporte aos atributos updg:at-identity e updg:guid , o formato DiffGram não. O atributo updg:at-identity define o comportamento na atualização de uma coluna do tipo IDENTITY. O atributo updg:guid permite que você obtenha um valor GUID do SQL Server e use-o no updategram. Para obter mais informações e exemplos de trabalho, consulte Inserindo dados usando XML Updategrams (SQLXML 4.0).

As anotações sql:identity e sql:guid estendem essa funcionalidade para DiffGrams.

Quando você executa um DiffGram, ele é primeiro convertido em um diagrama de atualização e, em seguida, o diagrama de atualização é executado. Ao especificar as anotações sql:identity e sql:guid no esquema XSD, você está, na verdade, definindo o comportamento de um updategram. Assim, todas as anotações são descritas no contexto de um diagrama de atualização. As anotações podem ser usadas para DiffGrams e diagramas de atualização; entretanto, os diagramas de atualização já fornecem um modo mais avançado de tratar valores de GUID e identidade.

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

Anotação sql:identity

Você pode especificar a anotação sql:identity no esquema XSD em qualquer nó que mapeie para uma coluna de banco de dados do tipo IDENTITY. O valor especificado para essa anotação define como a coluna do tipo IDENTITY é atualizada (usando o valor fornecido no updategram para modificar a coluna ou ignorando o valor, nesse caso, um valor gerado pelo SQL Server é usado para essa coluna).

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

ignore
Direciona o updategram para ignorar qualquer valor fornecido no updategram para essa coluna e para contar com o SQL Server para gerar o valor de identidade.

useValue
Direciona o diagrama de atualização para usar o valor que é fornecido no diagrama de atualização para atualizar a coluna do tipo IDENTITY. Um diagrama de atualização não verifica se a coluna é um valor de identidade ou não.

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

Anotação sql:guid

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

A anotação sql:guid pode receber dois valores:

generate
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 diagrama de atualização seja usado para a coluna. Este é o valor padrão.