2009/4/2 PAULO <[email protected]>:
> Ola Pessoal,
> Preciso atualzar a coluna saldo dia a dia numa tabela:
>  UPDATE tabela
>  SET    saldo = entrada - saida
>  WHERE  datalancto >= '2009-01-01' AND datalancto <= '2009-12-31'
>   RETURNING datalancto,entrada,saida,saldo;
>
> RETORNA:
> data         entrada saida  saldo
> 01-04-2009 - 400,00   0,00 400,00
> 01-04-2009 - 200,00   0,00 200,00
> 02-04-2009 - 200,00   0,00 200,00
> PRECISO:
> data         entrada  saida  saldo
> 01-04-2009 - 400,00   0,00  400,00
> 01-04-2009 - 200,00   0,00  600,00
> 02-04-2009 - 200,00   0,00  800,00
>
> Como pegar o saldo anterior ??
>


Não é aconselhável manter campos calculados em suas tabelas.
Usualmente isto é obtido a partir de uma visão.
No lugar de "entrada - saida" use sum(entrada) - sum (saida), ou
sum(entrada - saida), para todos os registros anteriores e atual. Caso
você não tenha um identificador dos registros na ordem desejada fica
um pouco mais dificil.

Osvaldo
_______________________________________________
pgbr-geral mailing list
[email protected]
https://listas.postgresql.org.br/cgi-bin/mailman/listinfo/pgbr-geral

Responder a