[firebase-br] Conflito na hora de atualizar registro

John Klaus Kanenberg kanenberg em yahoo.com.br
Ter Maio 22 00:01:31 -03 2007


Caros amigos,

Em um sistema que desenvolvi, utilizo uma tabela para gravar um valor de 
referência em um determinado campo (simulando um generator/trigger via 
programação)...

Este sistema roda em rede com ambiente windows, servidor win2k com 
firebird 1.5, com vários usuários gravando registros simultaneamente...

Funciona bem, mas em certas operações do sistema este grava um elevado 
numero de registros sequenciais no banco de dados, e a cada novo 
registros o sistema faz um select na tabela de referência, pega o valor 
e dá um update incrementando este... Mas como este processo acaba se 
tornando muito rápido e algum outro cliente tentar dar update na tabela 
de referência acaba dando conflito !!!

Qual seria a melhor opção para resolver este problema, uma vez que o 
sistema precisa do valor de referência (auto-incremento) antes de gravar 
as informações simultaneamente em 2 outras tabelas, e ao mesmo tempo 
vários cliente aleatoriamente precisam alterar (update) o valor de 
referência.

Utilizo Delphi 7 com acesso ao banco de dados utilizando componentes IBX 
(TIBDatabase/TIBTransaction/TIBQuery).

Desde já agradeço pela ajuda dos amigos.





Mais detalhes sobre a lista de discussão lista