У меня в одной фин. системе был подобный паттерн - висел триггер на UPDATE + INSERT, который складывал все поля + DateTime в имя_таблицы_log. Работало, но есть один нюанс. Если вдруг кто придёт и сделает update table set amount=amount+1, то базе будет ооочень плохо.