Pegar identity na geração dele

SQL Server

08/11/2013

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?
Pjava

Pjava

Curtidas 0

Respostas

Alex Lekao

Alex Lekao

08/11/2013

Oi PJava, bom dia!!!

eu nao entendi bem o que esta querendo.

mas acontecem varias destas situacoes simultaneas?

esperimenta criar uma triguer de after insert para fazer isso, acredito que deva funcionar.

Abraco.

Alex - Lekao
GOSTEI 0
Mariana Carvalho

Mariana Carvalho

08/11/2013

não entendi muito bem o problema.
GOSTEI 0
Pjava

Pjava

08/11/2013

Resolvido assim.

insert tb_teste (nome)
values ('atividade1' +'_'+ convert(varchar,IDENT_CURRENT('tb_teste')+1)+'_CLIENTE'+'.zip')
GOSTEI 0
Alex Lekao

Alex Lekao

08/11/2013

entao ta... rsrsr
GOSTEI 0
Mariana Carvalho

Mariana Carvalho

08/11/2013

Resolvido assim.

insert tb_teste (nome)
values ('atividade1' +'_'+ convert(varchar,IDENT_CURRENT('tb_teste')+1)+'_CLIENTE'+'.zip')


PJava, poderia explicar o que esse codigo faz? por favor.
GOSTEI 0
Alex Lekao

Alex Lekao

08/11/2013

oi Mariana, bom dia!!

Acredito que ele deva montar um nome para um arquivo que eh gerado, baseado na insercao de um registro na tabela, pegando o seu numero de registro como base para montagem do nome.

Mas o PJava poderia dar uma esclarecida melhor na necessidade e o que faz para conhecimento da galera, acho interessante e util.

Abraco.
GOSTEI 0
Isaac Jose

Isaac Jose

08/11/2013

oi Mariana, bom dia!!

Acredito que ele deva montar um nome para um arquivo que eh gerado, baseado na insercao de um registro na tabela, pegando o seu numero de registro como base para montagem do nome.

Mas o PJava poderia dar uma esclarecida melhor na necessidade e o que faz para conhecimento da galera, acho interessante e util.

Abraco.


ele tem o mesmo nome para todos os arquivos porem o identity é unico e para com isso ele quer pegar o mesmo em tempo de execução concatenar dentro do insert
ou seja exemplo.... nomeatividade_+Identity_cliente.zip..


acho que é mais ou menos isso.
GOSTEI 0
Alex Lekao

Alex Lekao

08/11/2013

Oi Isaac...

acho que falamos a mesma coisa com palavras diferentes... rsrsr
GOSTEI 0
Isaac Jose

Isaac Jose

08/11/2013

Oi Isaac...

acho que falamos a mesma coisa com palavras diferentes... rsrsr



sim :) mais para exemplificar uma montagem do código :)
GOSTEI 0
Alex Lekao

Alex Lekao

08/11/2013

sem duvida... rsrsr

=D
GOSTEI 0
Pjava

Pjava

08/11/2013

FDesculpe mas estava fora por um tempo. Realmente é isso mesmo. Ele monta um nome pegando o código gerado no momento e somo mais um, ou seja, seria o próximo código gerado. Se retira o +1, aí ele monta com o Identity gerado no momento do insert. Eu aprendi que, o identity é gerado antes de fazer o insert, como se fosse ou é uma trigger. É commitado e depois inserido em uma linha no insert. Dessa forma é possível pegá-lo antes de ser inserido algum registro. Desculpe a demora.
GOSTEI 0
Alex Lekao

Alex Lekao

08/11/2013

FDesculpe mas estava fora por um tempo. Realmente é isso mesmo. Ele monta um nome pegando o código gerado no momento e somo mais um, ou seja, seria o próximo código gerado. Se retira o +1, aí ele monta com o Identity gerado no momento do insert. Eu aprendi que, o identity é gerado antes de fazer o insert, como se fosse ou é uma trigger. É commitado e depois inserido em uma linha no insert. Dessa forma é possível pegá-lo antes de ser inserido algum registro. Desculpe a demora.


sem problemas....

obrigado por responder.
GOSTEI 0
POSTAR