[firebase-br] Erro no Gerador de Chave primária

Mario brujeria em task.com.br
Ter Ago 22 13:46:46 -03 2006


Acho que sempre usando o GEN_ID() fica "impossivel" um key violation,
independente da forma que você a usa, por trigger, código, sql...
Valeu
Mario

On Ter, 2006-08-22 at 13:21 -0300, Oleber_itajai wrote:
> eu pego o codigo dessa maneira:
> 
> SELECT GEN_ID(noem do generator,1) FROM RDB$DATABASE INTO :VALOR;
> 
> ja fiz um teste rigoroso em rende,  deixei duas maquinas em loop cadastrando
> 1000 registros automaticos, e naum me gerou nehum key violation,  e nem
> pulou ordem de codigo. Simplesmente me retornou a mesma segurança que um
> Trigger.
> 
> Se alguem tiver mais alguma opinião...
> 
> 
> 
> 
> 
> ----- Original Message ----- 
> From: "Rafael Rosso" <rafrosso em gmail.com>
> To: "FireBase" <lista em firebase.com.br>
> Sent: Tuesday, August 22, 2006 9:08 AM
> Subject: Re: [firebase-br] Erro no Gerador de Chave primária
> 
> 
> é muito arriscado trazer o código antes, pode gerar problemas se for usado
> em rede.
> 
> Em 21/08/06, Magno System <magno em speet.com.br> escreveu:
> >
> > Eu te aconselharia usar triggers. Se caso houver uma transação concorrente
> > (mais de 1 computador inserindo dados nesta tabela ao mesmo tempo),
> > corre-se
> > o risco do sql gerar o mesmo número para os dois. Já com trigger não
> > existe
> > este risco.
> >
> >
> >
> > ----- Original Message -----
> > From: "Roberto" <roberto.roflores em gmail.com>
> > To: "FireBase" <lista em firebase.com.br>
> > Sent: Monday, August 21, 2006 9:18 PM
> > Subject: Re: [firebase-br] Erro no Gerador de Chave primária
> >
> >
> > >
> > >
> > >>Você provavelmente deve ter adicionado os campos da tabela no seu
> > >>componente
> > >>de acesso. Selecione o campo com chave primária no componente de acesso
> > e
> > >>marque a propriedade required como false.
> > >
> > > Agradeço todas as respostas.Sou do tempo do DBase III e Clipper .Mais
> > > recentemente usava o mal falado PAradox que ficou muito lento em rede.
> > > Estou
> > > aprendendo Firebird .
> > > Repeti tudo novamente e não deu erro mas sem usar o SQLManager ( Esse
> > > programa já me trancou o acesso ao firebird negando a senha 'masterkey'
> > e
> > > tb
> > > estava dando esse erro ). Usando só o IBOConsole eu consegui.
> > > GOstei muito da sugestão de trazer o número gerado via SQL antes de
> > gravar
> > > ( no  caso eu conheço a chave primária antes do post) e depois gravar
> > > direto
> > > sem trigger.
> > >
> > > Roberto Flores
> > >
> > > Caxias do Sul
> > >
> > >
> > >
> > > ----- Original Message -----
> > > From: "Roberto" <roberto.roflores em gmail.com>
> > > To: "FireBase" <lista em firebase.com.br>
> > > Sent: Monday, August 21, 2006 2:02 PM
> > > Subject: [firebase-br] Erro no Gerador de Chave primária
> > >
> > >
> > >> Criei uma tabela ( via IbConsole) clientes sendo CodCliente ,integer,
> > >> primary key.
> > >> Tenho esse triger no evento Before insert:
> > >> BI_CLIENTES_CODCLIENTE
> > >> AS
> > >> BEGIN
> > >>  IF (NEW.CODCLIENTE IS NULL) THEN
> > >>      NEW.CODCLIENTE = GEN_ID(CLIENTES_CODCLIENTE_GEN, 1);
> > >> END
> > >> Porque qdo deixo o campo CLIENTE em NULL dá erro ( 'Campo CodCliente
> > não
> > >> pode ser nulo').
> > >> Isso se repete nas outras tabelas com a chave primária.
> > >> Mas pelo que aprendi o gerador é para isso né?
> > >>
> > >> Roberto Flores
> > >>
> > >> Caxias do SUL
> > >>
> > >>
> > >> ______________________________________________
> > >> FireBase-BR (www.firebase.com.br) - Hospedado em www.locador.com.br
> > >> Para editar sua configuração na lista, use o endereço
> > >> http://mail.firebase.com.br/mailman/listinfo/lista_firebase.com.br
> > >> Para consultar mensagens antigas: http://firebase.com.br/pesquisa
> > >>
> > >>
> > >> --
> > >> No virus found in this incoming message.
> > >> Checked by AVG Free Edition.
> > >> Version: 7.1.405 / Virus Database: 268.11.4/424 - Release Date:
> > >> 21/08/2006
> > >>
> > >>
> > >
> > >
> > > ______________________________________________
> > > FireBase-BR (www.firebase.com.br) - Hospedado em www.locador.com.br
> > > Para editar sua configuração na lista, use o endereço
> > > http://mail.firebase.com.br/mailman/listinfo/lista_firebase.com.br
> > > Para consultar mensagens antigas: http://firebase.com.br/pesquisa
> > >
> > >
> > > ______________________________________________
> > > FireBase-BR (www.firebase.com.br) - Hospedado em www.locador.com.br
> > > Para editar sua configuração na lista, use o endereço
> > > http://mail.firebase.com.br/mailman/listinfo/lista_firebase.com.br
> > > Para consultar mensagens antigas: http://firebase.com.br/pesquisa
> > >
> > >
> > > --
> > > No virus found in this incoming message.
> > > Checked by AVG Free Edition.
> > > Version: 7.1.405 / Virus Database: 268.11.4/424 - Release Date:
> > 21/08/2006
> > >
> > >
> >
> >
> > ______________________________________________
> > FireBase-BR (www.firebase.com.br) - Hospedado em www.locador.com.br
> > Para editar sua configuração na lista, use o endereço
> > http://mail.firebase.com.br/mailman/listinfo/lista_firebase.com.br
> > Para consultar mensagens antigas: http://firebase.com.br/pesquisa
> >
> 
> 
> 





Mais detalhes sobre a lista de discussão lista