Reiniciar contador automático (Identity) SQL Server
Hoje irei mostrar uma forma de reiniciar o contador do identity em uma tabela. Isso é bastante útil quando se tem uma tabela com valores constantemente zerados ou quando é preciso que a tabela comece seu trabalho desde o início.
Para isso vamos utilizar uma tabela “Operador” com a seguinte estrutura:
CREATE TABLE [dbo].[Operador](
[IdOperador] [int] IDENTITY(1,1) NOT NULL,
[Email] [varchar](200) NULL,
[Senha] [varchar](max) NULL
CONSTRAINT [PK_Operador] PRIMARY KEY CLUSTERED (IdOperador))
Se você tiver nessa tabela 5 registros, serão gerados Ids sequenciais para o IdOperador de 1 até 5:
Ao apagar todos os registros dessa tabela com o Comando DELETE e for inserido um novo registro ele receberá IdOperador = 6, isso ocorre porque toda vez que um registro é inserido, o SQL recupera o próximo ID de uma seqüência que não é alterada para um número menor ou zerada por exemplo.
Para reiniciar a numeração de uma coluna Identity de uma tabela do SQL Server, utilize o comando:
DBCC CHECKIDENT('[tabela]', RESEED, 0)
Aplicando o comando seguindo o exemplo, ficaria assim:
DBCC CHECKIDENT('Operador', RESEED, 0)
Isso fará que o próximo registro inserido receba IdOperador = 1.
Vale observar que este ID não necessariamente deverá ser 0.
DBCC CHECKIDENT('Operador', RESEED, 50)
Neste caso o próximo ID seria o 51.
0 comentários:
Postar um comentário