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