In an Oracle database, I have a table (SAMPLES) with a simple trigger that fires before insert to add a unique, sequential number to the table's primary key (note, code from OEM):
I have created a view using a join query betwen table SAMPLES and table COLLECTIONS. The view works fine and I have also created an "instead of update" trigger on the view to update SAMPLES (the other table is not updated from the view) which also works fine.
I want to create an "instead of insert" trigger on the view and am unsure of what to do about the SAMPLES table trigger that gets the nextval into the primary key. The SAMPLES table may be updated from the view OR at the table level. If I add the code for the table primary key trigger to the 'instead of update' trigger, will the trigger at the table level still fire and rerun code for the table primary key? Would I end up with two records that are duplicates except for the primary key value (one from the view trigger and one from the table trigger)? Or would the table level trigger not fire because it is 'before insert' and the view trigger actually caused the record to be inserted?