RES: [firebase-br] Dúvida Primária: Gene rators

eduardo eduardo em icontroller.com.br
Seg Jul 18 09:23:33 -03 2005


	Este método é absolutamente inseguro em ambientes multiusuários.
	A chance de dois usuários obterem o mesmo número é enorme.
	A melhor forma de se utilizar um generator é obtê-lo imediatamente 
antes do "Post", para que um Cancelamento da inserção não queime um número.
	A menos que seu Sistema *exija* que não haja *buracos* entre as chaves 
primárias, não se incomode com isso. A funcão da chave primária é dar 
identidade ao registro e para isso, tanto faz 2315 ou 9876.
	Caso, por auditoria, seja necessário identificar os números *perdidos*, 
escreva uma rotina que grave em algum lugar estes números toda vez que 
for dado um Cancel, RollBack ou Delete.

[]s Eduardo

Rafael Cabral wrote:
> Evandro,
> 
> Já utilizei o generator para controle de chaves únicas, mas achei a
> manutenção dele um pouco difícil. Eu, particularmente, num trigger prefiro
> fazer uma consulta para pegar o último valor inserido e somar 1. Dessa forma
> a sequenciação dos dados ficará correta. Com exceção de dados excluídos.
> 
> []s,
> 
> Rafael Cabral 
> 
> -----Mensagem original-----
> De: lista-bounces em firebase.com.br [mailto:lista-bounces em firebase.com.br] Em
> nome de José Franco Pereira Junior
> Enviada em: sexta-feira, 15 de julho de 2005 14:40
> Para: FireBase
> Assunto: Re: [firebase-br] Dúvida Primária: Gene rators
> 
> Almir,
> 
> Não vejo muita vantagem de aproveitar códigos de registros já excluídos. 
> Além de você ter que fazer um controle interno no seu sistema para controlar
> isso, o ganho com o reaproveitamento desses códigos é muito pequeno; a menos
> que seu sistema receba novos registros aos milhões por dia o que me parece
> um tanto difícil.
> 
> Abraços
> 
> José Franco Pereira Junior
> 
> At 12:27 15/07/2005, you wrote:
> 
>>*Amigos
>>
>>Aproveitando a duvida do nosso Amigo Evandro Existe alguma maneira dos 
>>generatos procurarem e aproveitarem codigos de registros ja excluidos ?
>>ex : possoi estar no codigo 3900, ma sposso ter 10 registros excluidos 
>>entre 0 e 3900!
>>
>>Tem como ?
>>
>>Grato
>>Almir
>>*
>>
>>
>>Evandro Siqueira escreveu:
>>
>>
>>>Pessoal,
>>>
>>>Uma dúvida primária (de principante mesmo) sobre generators. Estou 
>>>implementando minhas chaves primarias com generators em trigger before 
>>>insert. Tudo bem na geração. O problema é se eu cancelar a inserção.
>>>Existe uma maneira simples de retornar o generator anterior no caso de 
>>>um rollback, sem ter que utilizar SPs?
>>>
>>>Gratos,
>>>
>>>Evandro Siqueira
>>>Programador
>>>Recife/PE
>>>______________________________________________
>>>FireBase-BR (www.firebase.com.br) - Hospedado em www.bavs.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.bavs.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 Anti-Virus.
>>Version: 7.0.323 / Virus Database: 267.8.15/49 - Release Date: 
>>14/07/2005
> 
> 
> 
> 
> --
> No virus found in this outgoing message.
> Checked by AVG Anti-Virus.
> Version: 7.0.323 / Virus Database: 267.8.15/49 - Release Date: 14/07/2005
> 
> 
> ______________________________________________
> FireBase-BR (www.firebase.com.br) - Hospedado em www.bavs.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
> 





Mais detalhes sobre a lista de discussão lista