Я буду избегать любого реального SQL здесь, поскольку он сильно варьируется в зависимости от разнообразия используемого вами SQL.
Вы говорите, что у вас есть триггер для поддержания существующего промежуточного итога.
Я предполагаю, что он также (или, возможно, ночной процесс) создает новые ежедневные записи в таблице account_value
.Затем операторы INSERT, UPDATE и DELETE запускают триггер, чтобы сложить или вычесть существующую промежуточную сумму?
Вам нужно только внести следующие изменения:
- добавить новое поле, year_value или что-то еще
- иметь существующее обновление триггера, которое аналогично существующему полю
- использовать тип ответа gbn для создания сегодняшних записей (или как бы далеко вы не задним числом)
- но инициализировать каждую новую ежедневную запись в несколько иномway ...
Когда вы вставляете новую строку для нового дня, она должна быть инициализирована как yesterday's value
- the value 365 days ago
.После этого поведение должно совпадать с тем, к чему вы уже привыкли.