trigger para criar e atualizar saldo em uma tabela
olá pessoal.
sou novo no forum e também no assunto trigger para o mysql e precisei usar este recurso, mas não estou conseguindo chegar ao resultado que gostaria, por isso venho aqui pedir ajuda de vocês.
seguinte:
tenho uma tabela 'lancamentos' com o campos [iD;HISTORICO;TIPO;VALOR;SALDO] [Tipo = Debito (D) ou Credito ©] e tenho criar uma trigger pra ser disparada no BEFORE INSERT para calcular o saldo e inserir no campo SALDO. vejam exemplo abaixo que já encontrei em outro post aqui.
CREATE TRIGGER SaldoAtual BEFORE INSERT ON lancamentos
FOR EACH ROW BEGIN
DECLARE saldoAnterior DECIMAL(10,2);
SET saldoAnterior = (SELECT L.SALDO FROM lancamentos L ORDER BY L.ID DESC LIMIT 1);
IF saldoAnterior <> '' THEN
IF (NEW.TIPO = 'C') THEN
SET NEW.SALDO = saldoAnterior + NEW.VALOR;
ELSE
SET NEW.SALDO = saldoAnterior - NEW.VALOR;
END IF;
ELSE
SET NEW.SALDO = NEW.VALOR;
END IF;
END
esse exemplo funciona bem para o insert, mas existe outra dificuldade e não tenho conseguido resolver.
Preciso ter outra trigger no BEFORE UPDATE da mesma tabela que se eu alterar um valor anterior por exemplo esta trigger atualize o saldo da linha alterada e de todas as outras linhas que existirem depois dela para que o saldo fique correto.
espero ter me feito compreender e se alguém puder me ajudar com algum exemplo eu ficarei muito grato.
Discussão (3)
Carregando comentários...