dúvida em relação a um update (sql)

2 respostas
J

Olá pessoal.
Gostaria de pedir a ajuda de vcs com relação a um update que preciso fazer.
Eu tenho um saldo de estoque diário, e quero fazer uma movimentação retroativa. Preciso re-atualizar os saldos dos dias posteriores a essa movimentação. Eu sei que existe uma variação do comando select: “select … for update” mas eu não sei como usá-la. Alguém pode me ajudar :?:
[]s.

2 Respostas

S

Olá,

por estas que a boa prática em modelagem de dados recomenda (determina?) que não se use campos para saldos ou quaisquer informações que possam ser obtidas de outros campos.

O Saldo de qualquer dia pode ser facilmente obtido com uma consulta:

SELECT Sum(valor_movimento) As SaldoDoMes
FROM tabela
WHERE data >= ‘20040101’;

que resulta no naldo em 1ro de janeiro.

Não precisamos de um campo saldo!

Assim, bastará editar o movimento sei-lá-de-que-data e pronto. Quando a consulta for novamente executada, o “saldo” estará ok.

Mas, como as vezes não podemos intervir nos bds que temos, para poder ajudar de maneira mais concreta, sem ter que ficar adivinhando tabelas e campos, veja que o saldo de hoje depende do de ontem, que depende do de anteontem que …, seria interessante que você divulgasse a estrutura das tabelas, tipos de campo envolvidos neste seu desafio!

bob

J

hello!

como nosso amigo disse, nao eh normal mesmo guardar o saldo no Banco de Dados… mas apesar de que as vezes por motivos bizarros precise… então crie uma trigger que faça essa atualização pra ti, sempre que for inserido ou retirado, ou updatado!! =)

é uma forma!

abraço ai!

cya!

Criado 4 de agosto de 2004
Ultima resposta 4 de ago. de 2004
Respostas 2
Participantes 3