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

Sandro oleber_itajai em yahoo.com.br
Qua Ago 23 14:02:20 -03 2006


ainda prefiro assim :

SELECT GEN_ID(GENERATOR,1) FROM RDB$DATABASE INTO :CODIGO_NOVO;



----- Original Message ----- 
From: "Francisco A Souza" <francisco em logosinfo.com.br>
To: "FireBase" <lista em firebase.com.br>
Sent: Wednesday, August 23, 2006 1:51 PM
Subject: Re: [firebase-br] Erro no Gerador de Chave primária


quando uso o max, so utilizo na hora de gravar o registro. nunca aconteceu
isso, mas se acontecesse a pk, estava la pra isso mesmo... he he he...
valeu;.
----- Original Message ----- 
From: "Magno System" <magno em speet.com.br>
To: "FireBase" <lista em firebase.com.br>
Sent: Wednesday, August 23, 2006 1:18 PM
Subject: Re: [firebase-br] Erro no Gerador de Chave primária


Um exemplo: Se dois computadores na rede ao mesmo tempo executar: SELECT
MAX(NOMEDOCAMPO) o que acontece ?
Resp. Vem o mesmo valor.

Se os computadores usarem o mesmo valor em uma chave primária o que acontece
?
Resp. Dá pau.

Pode ser que nunca tenha acontecido isso com vc. Também nunca caiu um raio
na minha. Mas que raios existem, existem.

Abraços

Magno System




----- 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



-- 
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


		
_______________________________________________________ 
O Yahoo! está de cara nova. Venha conferir! 
http://br.yahoo.com





Mais detalhes sobre a lista de discussão lista