none
Problemas com Identity RRS feed

  • Pergunta

  • Boa tarde, estou tentando executar um simples insert e está me acusando o erro :

    Msg 8101, Level 16, State 1, Line 1
    An explicit value for the
    identity column in table 'FIBRA.dbo.Usuario' can only be specified when a column
    list is used and IDENTITY_INSERT is ON.

    Já desabilitei o identy..ele desabilita e da o mesmo erro..alguém pode me ajudar?


    Milena

    quinta-feira, 8 de novembro de 2012 16:36

Respostas

  • boa tarde Milena !

    verifique o seu insert, depois de desabilitado voce passa o nome dos campos ? neste caso é obrigatorio, veja o exemplo abaixo:

    create table #temp (identificador int identity(1,1), campo varchar(100)) 
    
    insert into #temp
    select 'Teste com identity'
    
    SET IDENTITY_INSERT #temp ON 
    
    -- a seguir da um erro por que os campos não estão listados
    insert into #temp
    select 2,'teste sem identity' 
    
    -- a seguir funcina sem problemas
    insert into #temp (identificador, campo)
    select 2,'teste sem identity' 


    Alexandre Matayosi Conde Mauricio. Se esta sugestão for útil, por favor, classifique-a como útil. Se ela lhe ajudar a resolver o problema, por favor, marque-a como Resposta.

    quinta-feira, 8 de novembro de 2012 16:57

Todas as Respostas

  • Milena,

    Como esta fazendo o insert? Por um acaso esta colocando todos os campos necessarios? Se não tiver, coloque somente os campos necessários. Pode ser que você tenha colocando o campo da tabela de usuário que é identity e não é necessário.

    []´s

    quinta-feira, 8 de novembro de 2012 16:51
  • boa tarde Milena !

    verifique o seu insert, depois de desabilitado voce passa o nome dos campos ? neste caso é obrigatorio, veja o exemplo abaixo:

    create table #temp (identificador int identity(1,1), campo varchar(100)) 
    
    insert into #temp
    select 'Teste com identity'
    
    SET IDENTITY_INSERT #temp ON 
    
    -- a seguir da um erro por que os campos não estão listados
    insert into #temp
    select 2,'teste sem identity' 
    
    -- a seguir funcina sem problemas
    insert into #temp (identificador, campo)
    select 2,'teste sem identity' 


    Alexandre Matayosi Conde Mauricio. Se esta sugestão for útil, por favor, classifique-a como útil. Se ela lhe ajudar a resolver o problema, por favor, marque-a como Resposta.

    quinta-feira, 8 de novembro de 2012 16:57