We use triggers for this sort of thing.
The problem you typically run into is, sooner or later, somebody will perform a mass update and create a 6" thick report full of data that nobody cares about. At this point, you will either (a) if it's a one-off thing, remember to 'disable triggers' next...