Set Identity_Insert

Como fazer o insert de um registro forçando o valor do campo identity sem dropar esse campo.

Pessoal, é muito simples.

O SQL Server nos permite utilizar o Set Identity_Insert, no exemplo abaixo temos uma tabela com alguns registros e necessitamos incluir o ID com valor 8.

 

SET IDENTITY_INSERT ad_localvisita On

insert into ad_localvisita (cdlocalvisita, nmlocalvisita, cdpesquisador, btativo, dtmovimento)

values(

8, ‘Local 1’, 1, 1, GETDATE())

SET IDENTITY_INSERT ad_localvisita Off

 

Essa é a melhor maneira de resolver o problema, para quem tem o habito de dropar uma coluna e recriar, fazer algoritmos em t-SQL para resolver o problema, essa solução é a mais adequada e não representa uma gambiarra.

 

Abraço, Rodrigo

Author: SQLCrespi

Rodrigo Crespi é MVP Data Platform, MCT, MCSE, MCSA, MCIT, MCDBA e MCP em SQL Server, possuí outras certificações em .NET Framework, Dynamics CRM e etc. Iniciou trabalhando com SQL Server na versão 6.5 na época como desenvolvedor, logo direcionou a sua carreira para a área de administração de bancos de dados. Atualmente é Sócio da CrespiDB – Soluções em Plataformas de Dados, além de professor universitário na Uniftec – Caxias do Sul Autor de diversos artigos publicados em sites e revistas sobre SQL Server e engenharia de software, mantem o canal SQLCrespi no Youtube, o blog SQLCrespi, além de ser dedicado ao SQL Server RS PASS Chapter Leader do grupo de profissionais em SQL Server do Rio Grande do Sul.

Deixe uma resposta