У меня есть таблицы с информацией о транзакциях по банковским счетам, где у меня есть номер счета, баланс, дата и пользователи любых транзакций. Каждый раз, когда я вкладываю или снимаю деньги, баланс на конкретном c счете меняется (очевидно). Мне нужно создать триггер, который суммирует все остатки на счетах, например общий баланс всех из них в конце дня, и заполняет другую таблицу с каждым указанным c днем и каждым общим балансом. Я думаю, что я должен использовать этот триггер, но я не знаю, как фильтровать это по дням.
CREATE TABLE movement
(account VARCHAR(10) NOT NULL ,
date TIMESTAMP NOT NULL DEFAULT CURRENT_TIMESTAMP(),
description VARCHAR(30) NOT NULL,
type ENUM('D','W') NOT NULL,
value DECIMAL(7,2) NOT NULL
)ENGINE=INNODB;
CREATE TABLE balance
(account VARCHAR(10) PRIMARY KEY,
balance DECIMAL(7,2) NOT NULL
)ENGINE=INNODB;
CREATE TABLE daily_balance
(date DATE PRIMARY KEY,
balance DECIMAL (7,2) NOT NULL
)
DELIMITER //
CREATE TRIGGER TOTAL_AI after insert on movement for each row
begin
insert into daily_balance values (now(), (select sum(balance) from balance));
end //
DELIMITER ;