Hi, to answer my own question, it has been pointed out to me (off-
list) that this is a documented feature.
The last paragraph of the ON EXCEPTION page in the SQL Syntax guide
com.ibm.sqls.doc/sqls946.htm) points out that:
"ON EXCEPTION has no effect within a UDR that is called by a trigger."
Furthermore, the "Constraint Checking" part of the "Cascading
of the "CREATE TABLE" page of the same manual (http://
"When you use logging, the database server defers constraint
checking on the triggering statement until after the statements
in the triggered-action list execute.
"This is equivalent to executing a SET CONSTRAINTS ALL DEFERRED
statement before executing the triggering statement."
The example there goes on to demonstrate why this feature can be
Guess I'll have to read the fabulous manual better in future.
Still, it's not exactly obvious behaviour!