Oracle triggers if updating performance
you cannot dynamically access them, only 'statically'. As usual, you do a great job of answering them and I greatly appreciate your insights.I especially love the rants about barnyard database design. The developers are programmaticaly generating the audit table ddl and triggers for each audited table from the Rose Object Model they are using.I have read the entire thread above and found it very useful, but I have a question about how to find out what value(s) changed in a row by examining audit trail records. These are simple audit triggers, such that all inserts, updates, and deletes result in the entire row being inserted into an audit table that has all of the production table columns.With UPDATING() call we have the record in audit table for each record.By using audit table we can get info about the actual UPDATE event (who, when and etc.) updated this column for ANY record.
With :new.value:old.value (plus NULL checking) approach we have this data only for records that have this column changed and we are loosing UPDATE EVENT by some user. As for me its better to have MORE data in audit table.