Вам понадобится несколько триггеров (или составной триггер в 11g с разделами на уровне строк и на уровне операторов). В триггере на уровне строк вы увидите измененную строку и поместите некоторые данные (первичный ключ, ROWID или всю строку в зависимости от ваших потребностей) во временную таблицу, коллекцию, определенную в пакете, или в коллекции, определенной в вашем составном триггере. В вашем триггере на уровне операторов вы будете перебирать строки, которые только что определили ваш триггер на уровне строк. Лично я также хотел бы создать триггер оператора before, который инициализировал бы коллекцию на тот случай, если в той структуре, в которой вы работаете, когда оператор выполняется впервые, все еще были данные).