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

Magno System magno em speet.com.br
Ter Ago 22 18:05:23 -03 2006


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.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
>> >
>>
>>
>>
>
>
> ______________________________________________
> 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
>
>
>
>
>
>
> _______________________________________________________
> Você quer respostas para suas perguntas? Ou você sabe muito e quer 
> compartilhar seu conhecimento? Experimente o Yahoo! Respostas !
> http://br.answers.yahoo.com/
>
>
> ______________________________________________
> 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