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

Francisco A Souza francisco em logosinfo.com.br
Qua Ago 23 12:04:11 -03 2006


boa essa, mas acho que o generator seria a melhor opcao, criar um indice so 
pra isso. valeu
----- Original Message ----- 
From: "Magnun Oliveira" <magnun_magnun em hotmail.com>
To: <lista em firebase.com.br>
Sent: Wednesday, August 23, 2006 10:15 AM
Subject: Re: [firebase-br] Erro no Gerador de Chave primária


se vc criar um indice descendente no codigo, e fizer o max fica mt rapido
fiz o teste com 5 milhoes de registros.


>From: "Francisco A Souza" <francisco em logosinfo.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: Wed, 23 Aug 2006 09:53:56 -0300
>
>eu uso max, para algumas coisas e resolvem sem problema. agoratem uma
>tabela
>em um cliente que tive que trocar para generators, pq o banco dele ja esta
>em 2.000.000 de registros e ai, o generator ficou melhor por causa de
>velocidade.
>----- Original Message -----
>From: "Magnun Oliveira" <magnun_magnun em hotmail.com>
>To: <lista em firebase.com.br>
>Sent: Wednesday, August 23, 2006 9:25 AM
>Subject: Re: [firebase-br] Erro no Gerador de Chave primária
>
>
>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
>
>
>______________________________________________
>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 Busca: fácil, rápido, direto ao ponto.  http://search.msn.com.br


______________________________________________
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







Mais detalhes sobre a lista de discussão lista