No desenvolvimento diário do SQL Server, a coluna identidade do tipo Identidade é frequentemente usada como o número auto-crescente de uma estrutura de tabela. Por exemplo, número do artigo, número de série do registro, etc. Referências a colunas identificadas auto-crescentes facilitam muito o desenvolvimento de programas de banco de dados, mas às vezes esse tipo de campo teimoso também pode causar alguns problemas.
1. Modificar os valores do campo da coluna de identificação:
Às vezes, para implementar uma função, é necessário modificar o valor de um campo de tipo Identidade auto-crescente, mas essa operação não é permitida por padrão devido ao tipo de coluna identidade. Por exemplo, se forem adicionados 5 dados normalmente no banco de dados e 2 forem excluídos nesse momento, então, se os dados forem adicionados novamente, a coluna de identificação auto-crescente será automaticamente atribuída ao valor 6, mas se você quiser atribuir um valor 3 ao inserir dados, isso não é permitido por padrão. Se você quiser mudar o valor desse campo, pode controlar completamente a inserção do valor do campo de identificação, ainda existem métodos, haha.
COLOQUE IDENTITY_INSERT /[MESA/] [ON| DESLIGADO] Usando a instrução acima, você pode facilmente controlar se uma coluna de identificador que cresce sozinha em uma tabela irá crescer automaticamente, ou seja, se você pode especificar manualmente o valor do campo da coluna de identificador ao inserir um registro. Se especificado como on, você pode especificar o valor do campo da coluna identificadora ao inserir, o que não faz crescer automaticamente o valor atribuído. Claro, se você usar tudo, precisa usar essa instrução para desligar o interruptor para o estado padrão desligado, caso contrário o campo não aumentará automaticamente o valor atribuído quando você inserir dados da próxima vez.
2. Redefinir o valor do campo da coluna de identificação:
Quando uma parte do registro de dados é excluída, e o novo registro de dados adicionado depois, o valor da coluna de identificação terá um grande intervalo de inatividade, o que parece muito desagradável. Mesmo que você exclua todos os registros da tabela, o valor da coluna de identidade continuará a aumentar automaticamente e infinitamente, em vez de crescer do zero. O valor semente do campo auto-crescendo pode ser resetado usando a seguinte afirmação:
DBCC CHECKIDENT(TABLE, [RESEED| NORESEED], [1]) A instrução acima forçará o valor semente da tabela especificada a ser redefinido para 1. No entanto, se você não quiser resetar a semente para 1, pode substituir o terceiro parâmetro pelo valor da semente que deseja usar. Se você quiser saber a seed atual em vez de resetar a seed identificada, precisa usar NORESEED em vez de definir o terceiro parâmetro. |