[firebase-br] Travamento Otimista ou Pessimista
Jorge Henrique Aguiar
jorginho em tauruslocacoes.com.br
Qua Jan 12 17:43:49 -03 2005
Crie uma trigger para fazer o calculo do estoque, nao faça diretamente pelo
programa senão dá zebra mesmo...
O q eu sempre fiz foi uma trigger(afterinsert nos itens da venda ou entrada)
que dá um sum na quantidade de movimentação, separando os valores em
variaveis distintas: ENTRADAS e SAÍDAS. Depois atualizo o saldo do produto.
Funciona 100%. Quer dizer, até hj funcionou...
Quanto a transação, deve ser pq vc fez o teste da mesma estação. Tente de
uma estação diferente e veja no que dá...
[]´s
----- Original Message -----
From: "Marciano Bandeira" <marciano.bandeira em bol.com.br>
To: "FireBase" <Lista em firebase.com.br>
Sent: Wednesday, January 12, 2005 4:41 PM
Subject: [firebase-br] Travamento Otimista ou Pessimista
Boa tarde a todos
Uma coisa está me esquentando a cabeça a algum tempo, estou desenvolvendo
um sistema de vendas com banco de dados firebird, que rodará em rede, até aí
tudo blzinha
Mais digamos que o produto 1 da tabela de produtos tenha o estoque 50, aí
o Terminal_1 vai e vende 10 unidades do Produto 1, mais antes de comitar
(pois estará gravando outos items), o Terminal_2 vai e vende 5 unidades do
produto 1 e Comita a transação, aí o estoque do produto 1 cai para 45, aí o
Terminal_1 Comita a transação dele, como ficará o estoque, ele baixará para
35 que seria o correto, ou baixará para 40 que era o que seria correto
quando ele fez a gravação?
OBS..: As baixas de estoque estou fazendo dentro de Triggers.
OBS2: Tentei fazer o teste pelo IbExpert e ao tentar gravar o Item no
Segundo terminal antes de comitar o primeiro apareceu a seguinte mensagem:
"Error Message:
----------------------------------------
Unsuccessful execution caused by system error that does not preclude
successful execution of subsequent statements.
lock conflict on no wait transaction.
deadlock.
update conflicts with concurrent update."
Outra pergunda, se o Firebird/Interbase faz travamento otimista de
registro porquê dessa mensagem?
Fica as duas perguntas no ar
Agradeço a todos que poderem me ajudar
Marciano Bandeira
msn: cbndesenvolvimento em hotmail.com
skype: marcianobandeira
______________________________________________
FireBase-BR (www.firebase.com.br) - Hospedado em www.bavs.com.br
Para editar sua configuração na lista, use o endereço
http://mail.firebase.com.br/mailman/listinfo/lista_firebase.com.br
Mais detalhes sobre a lista de discussão lista