Re: [firebase-br] Ajuda sobre trigger. Como faço para uma trigger incrementa um generato
RedDevil
reddevil em reddevil.eti.br
Ter Jul 26 18:39:51 -03 2005
ola Giovani,
> Acho que você vai ter que criar um campo "laranja" pra receber o valor
> do gen_id, incrementando assim o valor do generator:
> new.laranja = gen_id(generator, 1)
>
> É um campo a mais na tabela, mas não vejo outra solução.
nao eh necessario criar nenhum campo laranja, nem banana, nem jabuticaba, etc e
talz...
;o)
basta atribuir o valor do generator a uma variavel, que dessa forma o generator
sera incrementado...
e ate domingo passado ele queria que, ao chegar a um determinado valor, o
generator fosse reinicializado...
como nao eh possivel usar o "set generator xxxx to x" dentro de SP's/Triggers,
basta fazer isso ae abaixo:
{
create trigger codpac for pacientes
active before insert position 0
as
declare variable vcodigo integer;
begin
vcodigo = GEN_ID(gen_pacientes,1);
if (:vcodigo > 1000) then
begin
vcodigo = 1;
vcodigo = GEN_ID(gen_pacientes, vcodigo - GEN_ID(gen_pacientes,0) );
end
if (new.codigo is null) then new.codigo = :vcodigo;
end
}
[]s
força sempre.
ate +++
--
Luiz "RedDevil" Stefanski
http://www.RedDevil.eti.br - Delphi 4 Powered by IBObjects
exemplos e dicas sobre o IBObjects:
http://www.firebase.com.br/cgi-bin/firebase.cgi/dnld?ID=165
compilaçao/instalaçao do IBObjects sabor BPG:
http://www.firebase.com.br/cgi-bin/firebase.cgi/artigo?ID=630
Mais detalhes sobre a lista de discussão lista