Res: [firebase-br] Master/Detail + Auto incremento
Francisco Thiago Almeida
jeandeadlucky em yahoo.com.br
Seg Out 11 13:09:13 -03 2004
Como os colega ja disseram isso é muito perigoso, uma vez que os generators estão fora do contexto transacional.
resumindo: Nao use autoincremento! em todo caso, so incremente o pk do master se o valor passado for null
if new.pk is null then
new.pk = gen_id(generator,1)
e no programa, quando voce for postar os dados, incremente o generator e guarde numa variável
(no delphi)
li_pk := resultado do incremento...
e depois jogue os valores na fk do detalhe (assim tá bom otto? :D)
Certo?
Até mais!
(PS: Estou escrevendo um programinha que, acho eu, poderá ser agregado ao firebackup. entre em contato comigo!)
Fortes Marcelo <marcelosoftware em yahoo.com.br> wrote:
é q nem sempre
vou querer q o novo registro q está sendo inserido na
tabela detalhe, seja
do último registro na tabela master... pois é o q faz,
resgatando o último generator, com GEN_ID( GENERATOR,
0 )
--- Alex André Crocetti
escreveu:
> Eu utilizo um select no Generator no evento
> BeforePost da Tabela master e
> atribuo o valor ao ID da master e aos FK dos
> clientes.
>
>
>
> Assim :
>
>
>
> SELECT GEN_ID(GENARATOR, 1) FROM RDB$DATABASES;
>
>
>
>
>
> Alex André Crocetti
>
> Bacharel em Ciência da Computação
>
> Fone : (62) 223 4054
>
> (62) 9605 3378
>
>
>
> -------Mensagem original-------
>
>
>
> De: FireBase
>
> Data: 10/11/04 12:23:00
>
> Para: FireBase
>
> Assunto: [firebase-br] Master/Detail + Auto
> incremento
>
>
>
> D7 + FIB + FB 1.0.3
>
>
>
> Oi turma !!!
>
>
>
> Estou com um probleminha.
>
>
>
> Tenho duas tabelas relacionadas como mestre e
> detalhe
>
>
>
> para a tabela mestre, o campo ID chave primária eu
>
> criei uma trigger e um generator para auto
> incrementar
>
> este mesmo campo id desta mesma tabela mestre.
>
>
>
> O meu problema é que eu preciso pegar o número
>
> atribuido para a tabela mestre no cmpo id para ir
>
> inserindo nos registros subsequêntes da tabela
>
> detalhe.
>
>
>
> Como seria a forma mais simples de se efetuar isto?
>
>
>
>
>
>
>
>
>
>
>
>
_______________________________________________________
>
> Yahoo! Acesso Grátis - Internet rápida e grátis.
> Instale o discador agora!
> http://br.acesso.yahoo.com/
>
>
>
> ______________________________________________
>
> FireBase-BR (www.firebase.com.br)
>
> Para editar sua configuração na lista, use o
> endereço
>
http://mail.firebase.com.br/mailman/listinfo/lista_firebase.com.br
>
> ______________________________________________
> FireBase-BR (www.firebase.com.br)
> Para editar sua configuração na lista, use o
> endereço
>
http://mail.firebase.com.br/mailman/listinfo/lista_firebase.com.br
>
_______________________________________________________
Yahoo! Acesso Grátis - Internet rápida e grátis. Instale o discador agora! http://br.acesso.yahoo.com/
______________________________________________
FireBase-BR (www.firebase.com.br)
Para editar sua configuração na lista, use o endereço http://mail.firebase.com.br/mailman/listinfo/lista_firebase.com.br
-----------------------------------------------
Francisco Thiago de Almeida
MRL Consultoria em Informática
Divisão Desenvolvimento e Banco de Dados
Franca/SP
---------------------------------
Yahoo! Acesso Grátis - Internet rápida e grátis. Instale o discador agora!
Mais detalhes sobre a lista de discussão lista