inserindo um valor para um campo IDENTITY
inserindo um valor para um campo identity manualmente:
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.
um pequeno 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 Testese precisar redefinir o campo identity para um outro valor fixo, veja este post: http://forum.imasters.com.br/index.php?showtopic=224853
AUTOR: "eriva_br"
Dúvidas, criticas, contribuições, correções e adições seram bem vindas.
Discussão (2)
Carregando comentários...