RES: [firebase-br] Travamento Otimista ou Pessimista
Jesus (CSJ Sistemas)
jesus em csjsistemas.com.br
Qui Jan 13 09:45:59 -03 2005
Só uma coisinha !!!
Voce disse que executa um SUM na movimentação do estoque, vendo Entradas
e Saidas e calculando o Saldo ?
Não seria melhor, primeiro fazer um select no Saldo Atual, armazenar em
Variable, calcular novo Saldo, atualizar campos Saldo Anterior e Atual
em sua movimentação, com as variaveis acima e efetuar aí o update no seu
estoque, atualizando o Saldo ?
Com isto, voce ganha em performance e fica menos tempo com o transact
aberto, eliminando os lock's conflict.
Se ajudar em algo !!!
Ats. Jesus
-----Mensagem original-----
De: lista-bounces em firebase.com.br [mailto:lista-bounces em firebase.com.br]
Em nome de Marciano Bandeira
Enviada em: quinta-feira, 13 de janeiro de 2005 09:27
Para: FireBase
Assunto: Re: [firebase-br] Travamento Otimista ou Pessimista
Obrigado pela resposta.
Eu utilizo trigger para baixar o estoque, after insert, before update,
before delete, para baixa no estoque.
Quanto a transação testei pelo IBExpert em máquinas diferentes.
Tentei mexer no IB_Transaction do IBO para ver se funcionava no
programa o travamento otimista mais não consegui!
Se alguém tiver alguma idéia...
Desde ja abradeço
Marciano Bandeira
----- Original Message -----
From: "Jorge Henrique Aguiar" <jorginho em tauruslocacoes.com.br>
To: "FireBase" <lista em firebase.com.br>
Sent: Wednesday, January 12, 2005 5:43 PM
Subject: Re: [firebase-br] Travamento Otimista ou Pessimista
> 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
>
>
>
>
> ______________________________________________
> 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
______________________________________________
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
E-mail classificado pelo Identificador de Spam Inteligente Terra. Para
alterar a categoria classificada, visite
http://www.terra.com.br/centralunificada/emailprotegido/imail/imail.cgi?
+_u=csj_jesus&_l=1,1105616040.580112.16964.cagera.terra.com.br,6605,Des1
5,Des15
Esta mensagem foi verificada pelo E-mail Protegido Terra.
Scan engine: McAfee VirusScan / Atualizado em 12/01/2005 / Versão:
4.4.00 - Dat 4419 Proteja o seu e-mail Terra:
http://www.emailprotegido.terra.com.br/
Mais detalhes sobre a lista de discussão lista