[firebase-br] AutoIncremento

Joubert Rinaldi rinaldi.vieira em gmail.com
Ter Out 5 23:08:46 -03 2004


Amigos,

Sou novo em SGBD-R's e já pensei nesse problema. Posso estar sugerindo
uma heresia, mas vamos - lá.

Teria algum problema se fosse criado um Generator Temporario e ele
fosse usado no evento OnNewRecord? Esse procedimento seria no Client.

E no banco vc coloca uma trigger (before post) o Generator Real. 

Desse jeito acho q não correia o risco de dois usuários usar e nem
pular algum numero e como a atualização dos registros detalhe é em
cascata o banco cuida de tudo.

O q vc's acham dessa solução?

Viajei na Maionese?




On Tue, 5 Oct 2004 10:56:09 -0300, Evandro Bastiani
<evandrobastiani2 em hotmail.com> wrote:
> Como foi eu quem postei esse tópico, quero relatar que a opinião que me
> convenceu foi a de meu amigo Xará, simples, clara e objetiva.
> Basta disparar manualmente um gatilho no Post da inclusão, já era.
> Buracos só vão aparecer se for excluido aquele registro. O que é normal,
> sendo que aquele código pode ter pendencias em Vendas e em alguma outra
> tabela, não podendo ser substituido por outro Cliente.
> Abraços!
> 
> 
> 
> ----- Original Message -----
> From: "Josauro S.J." <josauro em casasoft.inf.br>
> To: "FireBase" <lista em firebase.com.br>
> Sent: Tuesday, October 05, 2004 9:11 AM
> Subject: Re: [firebase-br] AutoIncremento
> 
> Só para esclarecer caso tenha ficado dúvida, o processo não busca os buracos
> dos códigos apagados/não usados, ele os pega da tabela MESTRE onde ficam
> gravados, então normalmente essa tabela so tera um registro para cada
> tabela, e quando forem deletado algum registro na tabela principal, ai sim
> havera alguns registros a mais, porem a procura é instantanea, le se o
> ultimo da pilha de codigos, usa o e deleta da tabela MESTRE, ficando pronto
> para o próximo registro.
> 
> Josauro S.J.
> Diretor
> josauro em casasoft.inf.br
> ----- Original Message -----
> From: Tiago Gouvêa de Oliveira
> To: FireBase
> Sent: Monday, October 04, 2004 6:10 PM
> Subject: Re: [firebase-br] AutoIncremento
> 
> Eu ficava sempre pensando em como fazer isso, um código que achasse brechas
> nos seqüenciais..
> 
> Só que desta maneira, varrendo o código, é a maior roubada, pq quanto mais o
> banco cresce, mas faixa de código ele tem q varrer a cada insert..
> 
> Ai eu ficava fazendo while e tal.. ai consegui fazer de um jeito q ficou bem
> rápido: fiz uma SP que gera a numeração de 1 até o numero q eu informar.. só
> isso, ai eu chamo essa procedure informando como numero final o ultimo
> seqüencial da tabela, gerada a numeração, eu dou um outer join e vejo quais
> códigos estão vazios.. funcionou bacana, rapidinho mesmo.. :)
> 
> É apenas outra maneira de fazer isso ai q o Josauro disse ! :)
> 
> Abraços
> Tiago Gouvêa
> 
> ----- Original Message -----
> From: "Josauro S.J." <josauro em casasoft.inf.br>
> To: "FireBase" <lista em firebase.com.br>
> Sent: Monday, October 04, 2004 5:08 PM
> Subject: Re: [firebase-br] AutoIncremento
> 
> Eu utilizo algo parecido so que em uma tabela so (Não precisa de duas voce
> armazena os codigos deletados na mesma, é so ler na ordem decrescente ate
> chegar ao primeiro nesse caso o proprio registro incrementador).
> Acho muito bom esse metodo inclusive colocando nos eventos BeforeDelete,
> qualquer script que deletar voce sempre tera as sequencias sempre exatas...
> 
> Josauro S.J.
> Diretor
> josauro em casasoft.inf.br
> ----- Original Message -----
> From: Willian Jerônymo - Yahoo
> To: FireBase
> Sent: Monday, October 04, 2004 3:58 PM
> Subject: Re: [firebase-br] AutoIncremento
> 
> Tem um artigo muito interessante sobre esse assunta no site
> www.clubedelphi.net do Ney Dixon Santiago Marinho.
> 
> Vale a pena dar uma conferida, o link é :
> http://www.clubedelphi.net/artigos/sequenciadorFB.asp
> 
> Espero que te ajude
> 
> Willian
>  ----- Original Message -----
>  From: Evandro Bastiani
>  To: FireBase
>  Sent: Monday, October 04, 2004 3:38 PM
>  Subject: [firebase-br] AutoIncremento
> 
>  Até agora, depois de ver tantas opiniões não cheguei a uma conclusão de
> qual forma melhor de se fazer um numero autoincremental.
>  Gerar manualmente acrescentando mais 1 a variavel não me agradou pelo fato
> de correr um grande risco de 2 usuarios inserir na mesma hora.
> 
>  Trigger no After insert tem um problema, que é a perda do Numero caso
> desfaça a operação de inclusão.
> 
>  O correto seria um generator Before Post, só que como vou conseguir
> gerenciar o gatilho no Post somente quando for Inclusão, e não para
> alteração?
>  Idéias serão bem-vindas!!!
>  ______________________________________________
>  FireBase-BR (www.firebase.com.br)
>  Para editar sua configuração na lista, use o endereço
> http://mail.firebase.com.br/mailman/listinfo/lista_firebase.com.br
> ______________________________________________
> FireBase-BR (www.firebase.com.br)
> Para editar sua configuração na lista, use o endereço
> http://mail.firebase.com.br/mailman/listinfo/lista_firebase.com.br
> 
> ______________________________________________
> FireBase-BR (www.firebase.com.br)
> Para editar sua configuração na lista, use o endereço
> http://mail.firebase.com.br/mailman/listinfo/lista_firebase.com.br
> 
> ______________________________________________
> FireBase-BR (www.firebase.com.br)
> Para editar sua configuração na lista, use o endereço
> http://mail.firebase.com.br/mailman/listinfo/lista_firebase.com.br
> 
> ______________________________________________
> FireBase-BR (www.firebase.com.br)
> Para editar sua configuração na lista, use o endereço
> http://mail.firebase.com.br/mailman/listinfo/lista_firebase.com.br
> 
> 
> 
> ______________________________________________
> FireBase-BR (www.firebase.com.br)
> Para editar sua configuração na lista, use o endereço http://mail.firebase.com.br/mailman/listinfo/lista_firebase.com.br
> 


-- 
MSN: jcombr em hotmail.com




Mais detalhes sobre a lista de discussão lista