Re: [firebase-br] Dúvida sobre transações
Kléber Caneva
kdcc em terra.com.br
Qua Out 11 12:42:41 -03 2006
O ideal é que você ten ha uma tabela de movimentação de estoque. e a
atualização do estoque seja feito numa trigger dessa tabela.
[]´s
Kléber Caneva
----- Original Message -----
From: "Renan Cruz de Almeida" <renan.aju em terra.com.br>
To: "FireBase" <lista em firebase.com.br>
Sent: Wednesday, October 11, 2006 11:59 AM
Subject: Re: [firebase-br] Dúvida sobre transações
Penso que não vai dar deadlock, mas pode acontecer o seguinte, acaso o
sistema não tenha nenhum controle a mais, tomando como exemplo um
produto qualquer "X" :
caixa A : abre transação;
caixa B : abre transação;
caixa A : lê estoque X = 100;
caixa B : lê estoque X = 100;
caixa A : faz estoque final X = 100-30 = 70;
caixa B : faz estoque final X = 100-40 = 60;
OBS : na realidade o estoque final de X deverá ser 100-(30+40) = 30, ao
término das transações A e B.
caixa A : finaliza a transação e atualiza estoque final X = 70;
caixa B : finaliza a transação e atualiza estoque final X = 60;
Isso é uma anomalia de alteração, onde os SGBD's não têm como impedir,
pois a "defesa" contra isto reside nas regras do negócio que está sendo
modelado e na forma como o sistema é implementado.
[]'s
Renan
>É o seguinte: Tenho um sistema de vendas que a cada venda abate o estoque.
>Qual a garantia que eu tenho (mesmo com transações pequenas e rápidas) se
>em dois caixas tentarem alterar o estoque de um mesmo produto ao mesmo
>tempo não vai dar deadlock. Uso Firebird + Zeos.
>______________________________________________
>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
>
>
>
>
______________________________________________
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
E-mail classificado pelo Identificador de Spam Inteligente Terra.
Para alterar a categoria classificada, visite
http://mail.terra.com.br/protected_email/imail/imail.cgi?+_u=kdcc&_l=1,1160578827.462142.28121.sotovento.hst.terra.com.br,5036,Des15,Des15
Esta mensagem foi verificada pelo E-mail Protegido Terra.
Scan engine: McAfee VirusScan / Atualizado em 10/10/2006 / Versão:
4.4.00/4870
Proteja o seu e-mail Terra: http://mail.terra.com.br/
Mais detalhes sobre a lista de discussão lista