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

Magnun Oliveira magnun_magnun em hotmail.com
Qua Ago 23 09:25:22 -03 2006


como eu sou cético ...

pq?
visto q eu uso o max e nunca tive problemas ...


>From: "Magno System" <magno em speet.com.br>
>Reply-To: FireBase <lista em firebase.com.br>
>To: "FireBase" <lista em firebase.com.br>
>Subject: Re: [firebase-br] Erro no Gerador de Chave primária
>Date: Tue, 22 Aug 2006 18:54:52 -0300
>
>Pois é o tópico que escrevi foi desaconselhando o uso de "sql pura" sem a
>intervenção de generators. O email anterior é o que se deve evitar fazer e
>não fazer.
>
>
>
>----- Original Message -----
>From: "Andrei Luís" <compuvale.software em gmail.com>
>To: "FireBase" <lista em firebase.com.br>
>Sent: Tuesday, August 22, 2006 6:24 PM
>Subject: Re: [firebase-br] Erro no Gerador de Chave primária
>
>
> > 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
> >
> > ______________________________________________
> > 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.5/425 - Release Date: 
>22/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

_________________________________________________________________
MSN Messenger: converse com os seus amigos online. 
http://messenger.msn.com.br





Mais detalhes sobre a lista de discussão lista