RES: [firebase-br] Como saber o Proximo cód. do Gen ?

Joao Paulo - Spectrum joaopf.grupos em terra.com.br
Qui Ago 11 09:32:28 -03 2005


select gen_id(gen_idcheque, 0) from rdb$database

Mas o mais correto é vc quando consultar o generator com select
gen_id(gen_idcheque, 1) from rdb$database e ao inserir na tabela de cheque
vc já passa o codigo gerado por parametro e na trigger vc faz um if assim

If new.idcheque is null then
  new.idcheque = gen_id(gen_idcheque, 1);


Ou seja, você so vai gerar o codigo se o parametro idcheque não for
passado...


Joao Paulo
 

-----Mensagem original-----
De: lista-bounces em firebase.com.br [mailto:lista-bounces em firebase.com.br] Em
nome de Fellipe Henrique
Enviada em: quinta-feira, 11 de agosto de 2005 09:08
Para: lista em firebase.com.br
Assunto: [firebase-br] Como saber o Proximo cód. do Gen ?

Olá a todos, estou com um probleminha:
Eu tenho um generator Gen_IDCHEQUE, e tenho a tabela CHEQUE, que no "Before
Insert" eu tenho a seguinte trigger:
     new.idcheque = gen_id(gen_idcheque, 1);

Funciona perfeitamente, porém eis meu problema: em determinada parte do
sistema eu preciso saber este codigo antes, para inserir no campo de outra
tabela (que esta vinculada como FK).

Pensei em dar um "select gen_id(gen_idcheque, 1) from rdb$database",  pra
pegar o proximo codigo e depois eu daria um "select gen_id(gen_idcheque, -1)
from rdb$database", pra voltar e eu ter o proximo codigo, o problema, é que
o sistema roda via rede... imagino se 3 computadores estão inserindo.. não
vai dar problemas?

Tem algum outro jeito?

Desde já agradeço
Fellipe H.





Esta mensagem foi verificada pelo E-mail Protegido Terra.
Scan engine: McAfee VirusScan / Atualizado em 09/08/2005 / Versão:
4.4.00/4554 Proteja o seu e-mail Terra: http://mail.terra.com.br/






Mais detalhes sobre a lista de discussão lista