none
Pegar valor do identity na sua geração RRS feed

  • Pergunta

  • Preciso do seguinte cenário. Necessito gerar o nome de uma arquivo no momento de um insert, ou seja, no insert eu populo os campos e um desses campos é o campo NMARQUIVO. A regra de nomear esse cara é composta pelo NOME DA ATIVIDADE + '_" + IDENTITY(Esse está sendo gerado nesse momento) + CLIENTE + '.zip'. Toda dificuldade está no momento de pegar o identity, pois é o identity da atual geração dele. Como eu faço isso?
    sexta-feira, 8 de novembro de 2013 13:13

Respostas

  • Pnte,

    Faz desta forma:

    create table tb_teste (
    	id int identity
    	,nome varchar(100) )
    
    insert tb_teste (nome) 
    values ('atividade1' +'_'+ convert(varchar,IDENT_CURRENT('tb_teste')+1)+'_CLIENTE'+'.zip')
    

    Acredito que não ocorrerá problemas . Já que no momento do insert ele verifica o valor corrente e insere.

    Mas seria interessante, realizar teste, caso seu cenário seja de inserts quase simultâneos.

    Abraço;

    • Marcado como Resposta pnet segunda-feira, 11 de novembro de 2013 18:18
    sexta-feira, 8 de novembro de 2013 14:31

Todas as Respostas

  • Deleted
    • Sugerido como Resposta Pablo Vianini sexta-feira, 8 de novembro de 2013 13:26
    sexta-feira, 8 de novembro de 2013 13:15
  • Pnte,

    Faz desta forma:

    create table tb_teste (
    	id int identity
    	,nome varchar(100) )
    
    insert tb_teste (nome) 
    values ('atividade1' +'_'+ convert(varchar,IDENT_CURRENT('tb_teste')+1)+'_CLIENTE'+'.zip')
    

    Acredito que não ocorrerá problemas . Já que no momento do insert ele verifica o valor corrente e insere.

    Mas seria interessante, realizar teste, caso seu cenário seja de inserts quase simultâneos.

    Abraço;

    • Marcado como Resposta pnet segunda-feira, 11 de novembro de 2013 18:18
    sexta-feira, 8 de novembro de 2013 14:31