> If I insert duplicate rows, I assume the order of operations is: > > Before triggers > Insert > Exception > After triggers <-- never executed
Correct. This can be easily checked with the Trace API. The execution order of the trace events are: EXECUTE_STATEMENT_START (insert into) EXECUTE_TRIGGER_START (before insert) EXECUTE_TRIGGER_FINISH (before insert) FAILED EXECUTE_STATEMENT_FINISH (insert into) ERROR AT jrd8_execute Regards, Thomas