[firebase-br] Update concorrente

Zottis zottissistemas em brturbo.com.br
Seg Nov 3 17:44:10 -03 2008


eu faço assim:
quando o item é gerado na tabela de pedidos, ele insere no estoque a saida 
da quantidade informada na tabela de itens e também o numero que o generator 
de controle de estoque inseriu na tabela de itens, aí se o Usuario altera 
esta quantidade na tabela de itens ele faz uma busca (via SQL) para ver se 
localiza este controle de estoque, dai ele apenas altera, tem dadp certo ha 
dois anos neste sistema.

e o calculo do saldo é direto na SQL do produto
"Select sum(entrada - saida) as saldo from Estoque"

Zottis(TeamFB Users)

Zottis Sistemas - 2008 Ano XI
Programação Delphi/PHP/Firebird/MySQL

"Um homem só tem o direito de olhar
  a um outro de cima para baixo, quando
  vai ajuda-lo a levantar-se".
                   Gabriel Garcia Marquez
----- Original Message ----- 
From: "Daniel Sonda" <daniel em mhnet.com.br>
To: "FireBase" <lista em firebase.com.br>
Sent: Monday, November 03, 2008 2:52 PM
Subject: Re: [firebase-br] Update concorrente


Fábio Marques escreveu:
>        Sugestão SP: A SP receberia apenas o ID do produto e a quantidade a 
> ser abatida (saída) e a SP abateria o estoque em X unidades o produto Y.

Pensei nisso Fábio, mas com certeza vou ter vários usuários dando
entrada e saída do mesmo produto ao mesmo tempo, por isso a área crítica.

O Firebird irá retornar um erro quando duas transações forem atualizar o
mesmo dado ao mesmo tempo. Pelo menos tenho isso como certo...

Preciso que a consulta do estoque seja o mais rápida possível, por isso
creio que esse valor deva estar em um campo. Gostei da idéia de
calculá-lo, mas não acho que a performance obtida atenderá os requisitos
impostos. Poderíamos criar registros de inventário, mas foge dos requisitos.

Att.
Daniel Sonda
www.h2jsolucoes.com.br


______________________________________________
FireBase-BR (www.firebase.com.br) - Hospedado em www.locador.com.br
Para saber como gerenciar/excluir seu cadastro na lista, use: 
http://www.firebase.com.br/fb/artigo.php?id=1107
Para consultar mensagens antigas: http://firebase.com.br/pesquisa 





Mais detalhes sobre a lista de discussão lista