Este artigo é um artigo espelhado de tradução automática, por favor clique aqui para ir para o artigo original.

Vista: 12402|Resposta: 3

[Fonte] Atualize o método operacional da coluna ID auto-crescente no banco de dados SQL Server

[Copiar link]
Publicado em 23/08/2018 12:20:44 | | | |
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.




Anterior:Colunas de crescimento automático do SQL Server 2012 com problemas de salto de valor
Próximo:O Windows falha em iniciar o serviço Redis, erro 1067: Processo termina inesperadamente.
 Senhorio| Publicado em 23/08/2018 12:57:08 |
1. Quando todos os dados da tabela são excluídos, eles serão automaticamente aumentados para zero. ( truncar tabela Nome da Tabela )

2. Não apague os dados da tabela, resete diretamente o valor do crescimento automático. ( VERIFICAÇÃO DBCC ('TableName', RESEED, 0)
 Senhorio| Publicado em 23/08/2018 13:01:32 |
 Senhorio| Publicado em 13/02/2019 09:59:15 |
Veja os valores atuais das colunas auto-incrementáveis em uma tabela:
    VERIFICADOR DBCC (TableName)

Modificar o valor atual de uma coluna auto-incrementante em uma tabela:
    VERIFICADOR DBCC (TableName, RESEED, value)
    RESEED não é um nome de coluna, é escrito de forma fixa.


Por exemplo, se eu quiser mudar o valor atual da coluna auto-incrementante na tabela de divisão para 30, posso usar o seguinte comando
CHECKIDENT DO DBC (Divisão, RESEED, 30)
Então use
CHECKIDENT DO DBC (Divisão)
Você pode ver que o valor atual é 30
Disclaimer:
Todo software, material de programação ou artigos publicados pela Code Farmer Network são apenas para fins de aprendizado e pesquisa; O conteúdo acima não deve ser usado para fins comerciais ou ilegais, caso contrário, os usuários terão todas as consequências. As informações deste site vêm da Internet, e disputas de direitos autorais não têm nada a ver com este site. Você deve deletar completamente o conteúdo acima do seu computador em até 24 horas após o download. Se você gosta do programa, por favor, apoie um software genuíno, compre o registro e obtenha serviços genuínos melhores. Se houver qualquer infração, por favor, entre em contato conosco por e-mail.

Mail To:help@itsvse.com