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

Andrei Luís compuvale.software em gmail.com
Ter Ago 22 18:24:53 -03 2006


Isso é bastante desaconselhável, mesmo com trigger pode ter problema.

Por que não usar Generators se é pra isso que eles foram feitos?

[]
Andrei

Em 22/08/06, Magno System<magno em speet.com.br> escreveu:
> Pessoal quando me refiri a usar sql me refiri a algo do tipo: SELECT
> MAX(CODIGO) FROM TABELA INTO :VARIAVEL. Eu disse usar sql sem a interveção
> de Generators.
>
>
> ----- Original Message -----
> From: "Oleber_itajai" <oleber_itajai em yahoo.com.br>
> To: "FireBase" <lista em firebase.com.br>
> Sent: Tuesday, August 22, 2006 2:12 PM
> Subject: Re: [firebase-br] Erro no Gerador de Chave primária
>
>
> > tambem acho, mas foi postada uma mensagem  de Magno System assim :
> >
> > 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.
> >
> >
> > E ai ?
> >
> > O q fazer ?
> >
> >
> > []'s
> >
> >
> > ----- Original Message -----
> > From: "Mario" <brujeria em task.com.br>
> > To: "FireBase" <lista em firebase.com.br>
> > Sent: Tuesday, August 22, 2006 1:46 PM
> > Subject: Re: [firebase-br] Erro no Gerador de Chave primária
> >
> >
> > 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




Mais detalhes sobre a lista de discussão lista