Redefinir o valor identidade de uma tabela (reseed)

Bases de Dados, Informática, Microsoft SQL Server, Transact-SQL Scripts em Janeiro 2, 2013 Sem comentários

Em algumas situações é necessário repor a numereção (Reseed) da Identificação (ID) das linhas de uma tabela. Na maioria dos casos, esta necessidade surge porque os dados desta foram eliminados, parcial ou totalmente, e se deseja repor a sua numeração, devido a razões de consistência, estilo, ou outras. O Identificador é único (UNIQUE) e de incremento automático (AUTO-INCREMENT).
Para repor o valor Identificador de uma tabela, deverá ser executado o seguinte código:

DBCC CHECKIDENT (<yourtable>, reseed, 1)

Neste exemplo, o valor do Identificador seria reposto com o valor 1, o que faria com que a próxima linha a ser inserida assumisse esse valor. Claro que este procedimento está sujeito a restrições impostas por parte do SGBD. O procesimento não resultará nos casos em que o valor já esteja tomado por alguma das linhas existentes. Provocará problemas se o valor for definido com um valor abaixo de algum que já exista, o que fará com que, em algum momento esse valor vá coincidir com outro, o que provocará erros devido às restrções de unicidade do atributo. Se a tabela não tiver um Identificador, o SGBD fará notar esse facto com a seguinte mensagem: ‘yourtable’ does not contain an identity column.

Sem comentários para “Redefinir o valor identidade de uma tabela (reseed)”

Deixe um comentário