Em 22 de setembro de 2011 22:20, Vinicius Santos <vinicius.santos.li...@gmail.com> escreveu: > Boa noite pessoal, > > Preciso de uma idéia/sugestão de como garantir o seguinte: > Temos um ERP com uma tabela de saídas e outra com uma tabela de > entradas, e uma terceira com o saldo das duas. > Por Exemplo: o total da tabela de saídas deu 100 e o total da tabela de > entradas deu 110, ou seja o saldo é 10, para um determinado produto. > O saldo 10 é gravado em outra tabela, que grava o saldo e a localizacão > do produto no estoque. Por ex.: 10 peças no local Depósito 1. > > O que eu queria fazer é garantir que a tabela de saldo sempre tenha > entradas - saídas = saldo. > > Atualmente, sem um mecanismo de integridade deste tipo, eu poderia > colocar a tabela com um saldo de 25. O que resultaria em 110 - 100 = 25. > > O único jeito que estou visualizando é por meio de trigger.
É caminho aceitável, porém cuidado com a carga que isso pode gerar transacionalmente, faça testes de desempenho para não gerar uma regressão em seu ambiente. > Não temos o fonte do ERP, e não temos como mudar a modelagem, por > motivos óbvios. Cuidado com regras de negócio que podem estar encondidas nas entrelinhas deste sistema, pois não é difícil gerar uma race-condition apenas colocando triggers que alteram dados que já são alterados pela aplicação. []s -- Dickson S. Guedes mail/xmpp: gue...@guedesoft.net - skype: guediz http://guedesoft.net - http://www.postgresql.org.br _______________________________________________ pgbr-geral mailing list pgbr-geral@listas.postgresql.org.br https://listas.postgresql.org.br/cgi-bin/mailman/listinfo/pgbr-geral