The ability to use a WHEN clause in a trigger is logged as DERBY-534. If you're interested in this issue, you could vote for it, or (better!) join the development community and contribute an implementation. https://issues.apache.org/jira/browse/DERBY-534
I think the other issues you raised (before update triggers, and triggers calling procedures) should work. I think that you may have to say "NO CASCADE" for a BEFORE trigger, and I think that you may have to say "CALL PROCEDURE", not just "CALL". Here's some good background information: http://db.apache.org/derby/docs/10.2/ref/rrefcreateprocedurestatement.html http://db.apache.org/derby/docs/10.2/ref/rrefcreateprocedurestatement.html http://db.apache.org/derby/docs/10.2/devguide/cdevspecial27163.html http://db.apache.org/derby/docs/10.2/devguide/cdevspecial42117.html If you still can't get them to work, try posting the transcript of the actual IJ session that you tried, with the exact statements you sent, and the errors that were returned. This should help people spot the problem and offer more precise suggestions. thanks, bryan