Calculo pra obter saldo em estoque dia a dia
Ola colegas delphianos.
Preciso de uma ajuda, mas no sentido de vivência, experiência. tenho uma estrutura de estoque onde tenho os seguintes atributos:
Estoque(est_data, est_descricao, est_tipo, est_quantidade, est_saldo)
O q eu gostaria de fazer é o seguinte: a cada lançamento q seja feito ele tenha o saldo autal (ou do dia em questão), tenho o atributo est_tipo q define se o lançamento é ´entrada´ ou ´saida´. O saldo viria de um calculo do dia anterior mais (adição ou subtração) do lançamento atual.
Não sei se fui claro.
Se alguém tiver uma idéia ou puder ajudar, agradeço...
[]
Preciso de uma ajuda, mas no sentido de vivência, experiência. tenho uma estrutura de estoque onde tenho os seguintes atributos:
Estoque(est_data, est_descricao, est_tipo, est_quantidade, est_saldo)
O q eu gostaria de fazer é o seguinte: a cada lançamento q seja feito ele tenha o saldo autal (ou do dia em questão), tenho o atributo est_tipo q define se o lançamento é ´entrada´ ou ´saida´. O saldo viria de um calculo do dia anterior mais (adição ou subtração) do lançamento atual.
Não sei se fui claro.
Se alguém tiver uma idéia ou puder ajudar, agradeço...
[]
Paganato
Curtidas 0
Respostas
Motta
22/11/2004
Duas maneiras claras de resolver a questão.
Triggers mantem uma tabela totalizadora de saldo
Uma view simula a tabela totalizadora
estas duas soluções geram alguma demenada no banco, tempo de atualização, acesso etc e requerem um bd que suporte triggers/views, a solução depende de cada caso, volume de dados , de atualizações etc
Uma terceira solução pode ser uma totalizadora atualizada num processo batch automático num horário em que o sistema esteja com capacidade ociosa
Espero ter ajudado
Triggers mantem uma tabela totalizadora de saldo
Uma view simula a tabela totalizadora
estas duas soluções geram alguma demenada no banco, tempo de atualização, acesso etc e requerem um bd que suporte triggers/views, a solução depende de cada caso, volume de dados , de atualizações etc
Uma terceira solução pode ser uma totalizadora atualizada num processo batch automático num horário em que o sistema esteja com capacidade ociosa
Espero ter ajudado
GOSTEI 0
Paganato
22/11/2004
Caro Motta,
vc poderia dar uma visão mais clara das duas ideias q vc sujeriu.
Estou trabalhando c PostGreSQL e ele suporta triggers/views, porém não consegui enteder suas explicações.
Poderia dar um exemplo ou clarear as ideias?
muito grato.
vc poderia dar uma visão mais clara das duas ideias q vc sujeriu.
Estou trabalhando c PostGreSQL e ele suporta triggers/views, porém não consegui enteder suas explicações.
Poderia dar um exemplo ou clarear as ideias?
muito grato.
GOSTEI 0
Motta
22/11/2004
Vc sabe o que são triggers e views ?
GOSTEI 0
Paganato
22/11/2004
Certamente q sei o q são triggers/views. O q não entendi ou melhor não compreendi é a ideia de como fazer o processo.
Se vc puder ser mais claro, fico grato.
Se vc puder ser mais claro, fico grato.
GOSTEI 0
Motta
22/11/2004
solução por view , faz-se uma view que agrega o valor do saldo, dependendo do tamanho da tabela esta view pode ficar lenta.
exemplo simplificado
create view total as
select produto,sum(valor) total
group by produto
um select * from total obtem o saldo ...
solução por trigger, crie-se uma tabela agregadora de saldo, nas tabelas que acarretem na mudança de saldo cria-se uma trigger que mantem os valores da agregadora atualizados, nesta solução uma carga inicial é necessária.
não conheço a sintaxe do postgree , assim fica dificil ajudar com exemplos , na sqlmagazine já vi varias artigos que te ajudariam melhor
exemplo simplificado
create view total as
select produto,sum(valor) total
group by produto
um select * from total obtem o saldo ...
solução por trigger, crie-se uma tabela agregadora de saldo, nas tabelas que acarretem na mudança de saldo cria-se uma trigger que mantem os valores da agregadora atualizados, nesta solução uma carga inicial é necessária.
não conheço a sintaxe do postgree , assim fica dificil ajudar com exemplos , na sqlmagazine já vi varias artigos que te ajudariam melhor
GOSTEI 0