Reference Manual says that WHEN clause has no meaning in releases prior to 10.11:
http://db.apache.org/derby/docs/10.11/ref/index.html

------------------------------------------------------------------------

*From:* Mamta Satoor <[email protected]>
*Sent:* Friday, December 12, 2014 10:07PM
*To:* Derby Discussion <[email protected]>
*Subject:* Re: Unexpected behavior of WHEN clause in CREATE TRIGGER statement I get the same behavior. I will give it a try on earlier releases and report the results
Mamta

On Fri, Dec 12, 2014 at 1:50 AM, Alex <[email protected] <mailto:[email protected]>> wrote:

   Hello,
   In the below example, I expect trigger to fire and update the
   'done_date' column after update of 'status', but it doesn't. The
   database is a freshly created 10.11. Is this a bug in derby, or am I
   doing something wrong?

   ij version 10.11
   ij> connect 'jdbc:derby:MyDbTest;create=true';
   ij> CREATE TABLE t1 (id INTEGER, done_date DATE, status CHAR(1));
   0 rows inserted/updated/deleted
   ij> CREATE TRIGGER tr1 AFTER UPDATE OF status ON t1 REFERENCING NEW
   AS newrow FOR EACH ROW WHEN (newrow.status='d') UPDATE t1 SET
   done_date=current_date WHERE id=newrow.id <http://newrow.id>;
   0 rows inserted/updated/deleted
   ij> insert into t1 values (1, null, 'a');
   1 row inserted/updated/deleted
   ij> SELECT * FROM t1;
   ID         |DONE_DATE |STA&
   ---------------------------
   1          |NULL      |a

   1 row selected
   ij> UPDATE t1 SET status='d';
   1 row inserted/updated/deleted
   ij> SELECT * FROM t1;
   ID         |DONE_DATE |STA&
   ---------------------------
   1          |NULL      |d

   1 row selected
   ij> exit;
-- /--Regards, Alex/


/--Regards, Alex/

Reply via email to