Array
(
)

Pegar identity na geração dele

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

Alex Lekao
   - 08 nov 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

Mariana Carvalho
   - 10 nov 2013

não entendi muito bem o problema.

Pjava
   - 11 nov 2013

Resolvido assim.

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

Alex Lekao
   - 11 nov 2013

entao ta... rsrsr

Mariana Carvalho
   - 11 nov 2013


Citação:
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.

Alex Lekao
   - 12 nov 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.

Isaac Jose
   - 13 nov 2013


Citação:
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.

Alex Lekao
   - 13 nov 2013

Oi Isaac...

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

Isaac Jose
   - 13 nov 2013


Citação:
Oi Isaac...

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


sim :) mais para exemplificar uma montagem do código :)

Alex Lekao
   - 14 nov 2013

sem duvida... rsrsr

=D

Pjava
   - 19 nov 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.

Alex Lekao
   - 19 nov 2013


Citação:
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.