Início > Comandos SQL, SQL Server > Inserindo um valor para um campo IDENTITY

Inserindo um valor para um campo IDENTITY

Imagine uma situação qualquer onde é necessário inserir um valor manualmente para o campo identity, uma dica é desabilitar o atributo identity para a inserção e logo após a inserção habilitar o atributo.

Para desabilitar:
set IDENTITY_INSERT nomeTabela on

Para habilitar:
set IDENTITY_INSERT nomeTabela off

OBS.: se você esquecer de habilitar o campo identity não tem problema, pois o comando só vale para a conexão atual.

Exemplo:

         set nocount on

         --criando tabela para testes
         create table Teste (campoID int identity, Nome varchar(30))
         --inserindo dados iniciais
         insert into Teste (Nome) values ('Daniela Hantuchova') --o campoID recebe o valor 1 automaticamente
         insert into Teste (Nome) values ('Elena Dementieva') --o campoID recebe o valor 2 automaticamente

         --consultando a tabela de testes após a inserção dos dados iniciais
         select * from Teste

         --desabilitando o campo identity
         set IDENTITY_INSERT Teste on
         --inserindo ID manualmente, vamos mudar para 10
         insert into Teste (campoID, Nome) values (10, 'Maria Sharapova')

         --habilitando o campo identity
         set IDENTITY_INSERT Teste off

         --inserindo mais um registro com o campo identity em seu estado original (automático)
         insert into Teste (Nome) values ('Vanessa Menga') --o campoID recebe o valor 11 automaticamente

         --consultando a tabela após as últimas inserções
         select * from Teste

         --destruindo tabela para testes
         drop table Teste

Fonte: “eriva_br”

 
Vejam também:
Como inserir explicitamente um valor num campo especificado como IDENTITY numa tabela e como fazer “UPDATE” ao mesmo

Categorias:Comandos SQL, SQL Server
  1. Nenhum comentário ainda.
  1. No trackbacks yet.

Deixe uma resposta

Preencha os seus dados abaixo ou clique em um ícone para log in:

Logotipo do WordPress.com

Você está comentando utilizando sua conta WordPress.com. Sair / Alterar )

Imagem do Twitter

Você está comentando utilizando sua conta Twitter. Sair / Alterar )

Foto do Facebook

Você está comentando utilizando sua conta Facebook. Sair / Alterar )

Foto do Google+

Você está comentando utilizando sua conta Google+. Sair / Alterar )

Conectando a %s

%d blogueiros gostam disto: