[firebase-br] Transação + Stored Procedure

Caio Oliveira news em caiosistemas.com.br
Sex Ago 11 10:28:01 -03 2006


Vc. pode usar o GENERATOR desde que defina na tabela o campo como UNIQUE 
(ou se for uma chave primária); quando ocorrer essa coincidência, o 
banco de dados vai rejeitar o registro repetido; assim vc. dá a opção 
(avisa o usuário que ocorreu uma exceção e pede para "tentar 
novamente"); mas, para que isso funcione bem e sem prejuízo de 
integridade de dados, tem que fazer o controle de transação na 
aplicação, onde quando ocorre o problema vc. dá o ROLLBACK e aí sim dá a 
opção para o usuário repetir.

E, vamos lembrar sempre da premissa: "se existe alguma chance de que 
algo pode dar errado, com certeza vai aconteçer!"; então o mais sensato 
é previnir!.

Espero ter ajudado!

Sds, Caio Oliveira

Welson Avelar escreveu:
> --- Daisson escreveu:
>> Carlos H. Cantu (TeamFB) escreveu:
>>
>>> Sugiro que vc implemente de forma diferente a sua rotina de geração de
>>> números sequenciais. No site do IBO tem um paper que dá algumas dicas
>>> sobre como fazer isso de forma correta.
>> Ok, obrigado Cantu.
>>
>> Digamos que eu crie um Generator para retornar o valor do IDDIARIO.
>> Pergunto: se, num determinado momento, 20/30 usuários "solicitarem" o
>> valor para esse campo, o Generator irá garantir que não retorne o
>> mesmo valor para mais de um usuário ?
>>
>> Obrigado.
>> -- 
>> Daisson
> 
> [--x--]
> 
> [Welson] Bom, se esses usuários requisitarem exatamente ao mesmo tempo, pode
> ocorrer um erro mesmo. Mas a simultaneidade exigida pra isso é absurda. O.o
> Pensa bem: 30 pessoas clicarem ao mesmo tempo no botão "Novo" e retornar o
> mesmo valor. Claro, ainda existe uma possibilidade, não é 100% de NÃO
> acontecer, mas certas coisas tem que trabalhar com probabilidade e a chance
> disso acontecer é pequena.
> 
> []s.
> 
> =================================
> "O que me preocupa não é o grito dos maus. É o silêncio dos bons."
> Martin Luther King.
> =================================
> Welson de Avelar Soares Filho
> Analista/Programador Delphi
> Gemini Sistemas
> <www.geminisistemas.com.br>
> Juiz de Fora - Minas Gerais
> =================================
> 
> 
> 	
> 
> 
> 
> 	
> 		
> _______________________________________________________ 
> 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
> 





Mais detalhes sobre a lista de discussão lista