Dicas sobre desenvolvimento de software, gestão e tributações

Rede Social

13 de novembro de 2015

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