Este guia ensinará como redefinir uma coluna de identidade no SQL Server, permitindo redefinir valores incorretos em uma coluna de identidade.
Identidade do SQL Server
Para adicionar uma coluna de identidade a uma tabela no SQL Server, use a consulta de identidade. A sintaxe para a consulta de identidade no servidor SQL é como mostrado:
Identidade (semente_value, increment_interval);A consulta de identidade aceita dois argumentos:
Por padrão, os valores de semente e incremento são definidos como 1. Portanto, o primeiro registro da tabela tem um valor de 1, e cada registro adicionado à tabela, adicionado por 1.
Redefinir coluna de identidade no servidor SQL
Vamos agora aprender a redefinir uma coluna de identidade no SQL Server e por que você pode precisar fazer isso.
Comece criando uma tabela de amostra e inserindo dados, como mostrado nas consultas abaixo:
Crie inventário de tabela (Agora podemos consultar os dados armazenados na tabela como:
Selecione * no inventário;Os registros resultantes são os mostrados:
Observe a coluna de identificação; Embora não tenhamos especificado os valores em nossa declaração de inserção, o valor do recurso de identidade é o valor de gerações automáticas a partir de 1 e continua aumentando em um 1 para cada registro que inserimos.
Por que redefinir a coluna de identidade?
Você pode perguntar se a coluna de identidade contém valores gerados automaticamente em uma ordem lógica especificada, por que preciso redefinir a coluna de identidade?
Veja o que acontece com os dados quando excluímos um registro da tabela:
Excluir do inventário onde quantidade = 7;A consulta de exemplo acima deve remover um registro em que a quantidade é igual a 7.
A tabela agora mantém os registros como:
Selecione * no inventário;Nas colunas de identificação, temos os valores começando de 1 a 6. No entanto, o ID de 4 está faltando. Isso acontece quando lançamos um recorde da tabela.
Para consertar isso, precisamos redefinir a coluna de identidade.
Como redefinir a coluna de identidade
Para redefinir a coluna de identidade no SQL Server, usamos o procedimento DBCC CheckIndent.
A sintaxe do procedimento é como:
Dbcc checkIdent ('tabela_name', reseed, new_value);No entanto, se redefinirmos a coluna de identidade e tentarmos inserir dados, o SQL Server retornará um erro. Para resolver isso:
Um exemplo de consulta implementando as etapas acima é como mostrado:
Selecione * em new_inventory no inventário;Depois que as consultas são executadas com sucesso, podemos verificar os dados na tabela de inventário como:
Selecione * no inventário;Os registros de tabela resultantes são os mostrados:
Aqui, a coluna de identificação está na ordem certa.
Fechamento
Este guia abrange o básico do recurso de identidade no SQL Server e como redefinir uma coluna de identidade em caso de erros.