db-derby-dev mailing list archives

Site index · List index
Message view « Date » · « Thread »
Top « Date » · « Thread »
From "Mamta A. Satoor (JIRA)" <j...@apache.org>
Subject [jira] [Updated] (DERBY-172) Improve documentation for BEFORE triggers
Date Mon, 24 Jun 2013 23:50:21 GMT

     [ https://issues.apache.org/jira/browse/DERBY-172?page=com.atlassian.jira.plugin.system.issuetabpanels:all-tabpanel
]

Mamta A. Satoor updated DERBY-172:
----------------------------------

    Urgency: Low
     Labels: derby_triage10_11  (was: )
    
> Improve documentation for BEFORE triggers
> -----------------------------------------
>
>                 Key: DERBY-172
>                 URL: https://issues.apache.org/jira/browse/DERBY-172
>             Project: Derby
>          Issue Type: Bug
>          Components: Documentation
>    Affects Versions: 10.0.2.0
>         Environment: Windows XP SP1 Windows
>            Reporter: George Baklarz
>            Priority: Minor
>              Labels: derby_triage10_11
>
> I image that this is a documentation problem. The "words" around triggers seem to imply
the ability to do actions "BEFORE" the INSERT/UPDATE/DELETE. For instance:
> "Along with constraints, triggers can help enforce data integrity rules with actions
such as cascading deletes or updates. Triggers can also perform a variety of functions such
as issuing alerts, updating other tables, sending e-mail, and other useful actions."
> Well, the CREATE TRIGGER command only allows AFTER as an option (even though the SYSTRIGGERS
catalog uses "B" for before and "A" for after) and it won't allow a CALL statement to be processed.
Seems to me that there aren't any ways to send an e-mail, issue alerts (no SIGNAL function
either), or enforce integrity rules. How can you enforce integrity rules if invalid data comes
in? I can't force a SIGNAL or error with the trigger, so this is useless for validating changes
to the data.
> In addition, there appears to be some logic regarding BEFORE triggers in Derby, but its
not currently working.
> CREATE TRIGGER CB NO CASCADE BEFORE
>    INSERT ON BONUSES
>       REFERENCING NEW AS n
>       FOR EACH ROW MODE DB2SQL
>       UPDATE BONUSES
>          SET BONUS =
>              CASE
>                 WHEN (n.BONUS = 0) THEN 100
>                 ELSE n.BONUS
>              END;
> ERROR 42Z9D: 'UPDATE' statements are not allowed in 'BEFORE' triggers.

--
This message is automatically generated by JIRA.
If you think it was sent incorrectly, please contact your JIRA administrators
For more information on JIRA, see: http://www.atlassian.com/software/jira

Mime
View raw message