Fluxo de caixa

1 resposta
mysql
William_Muller

boa tarde galera, estou a algum tempo pesquisando uma maneira de elaborar um fluxo de caixa mas todas tentativas não foram bem sucedidas, a inserção da entrada do caixa e da saída do caixa beleza, mas quando vou deletar alguma saída ou entrada o saldo não altera.

create table tb_caixa(
idcaixa int auto_increment not null,
descricao varchar(150),
tipo varchar(15),
saldo decimal(10,2),
valor decimal(10,2),
dtcaixa date,
saldoAnterior decima(10,2),
constraint PK_caixa2 primary key (idcaixa))engine = InnoDB;

CREATE TRIGGER movimento_caixa BEFORE INSERT ON tb_caixa FOR EACH ROW
BEGIN

SET NEW.saldoAnterior = IFNULL((SELECT saldo FROM tb_caixa ORDER BY idcaixa DESC LIMIT 1), 0);

IF (NEW.tipo= entrada) THEN

SET NEW.saldo = NEW.saldoAnterior + NEW.valor;

END IF;
IF (NEW.TIPO =saida) THEN

SET NEW.saldo = NEW.saldoAnterior - NEW.valor;

END IF;

END

1 Resposta

rodevops

Sua trigger atua somente a cada novo registro inserido, você precisa criar uma trigger que atue após deletar entrada/saida e colocar sua lógica lá…

https://www.techonthenet.com/mysql/triggers/after_delete.php

Criado 23 de março de 2018
Ultima resposta 23 de mar. de 2018
Respostas 1
Participantes 2