> 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

Reply via email to