You are viewing a plain text version of this content. The canonical link for it is here.
Posted to derby-dev@db.apache.org by "Kathey Marsden (JIRA)" <ji...@apache.org> on 2009/05/07 23:26:45 UTC
[jira] Updated: (DERBY-172) Improve documentation for BEFORE
triggers
[ https://issues.apache.org/jira/browse/DERBY-172?page=com.atlassian.jira.plugin.system.issuetabpanels:all-tabpanel ]
Kathey Marsden updated DERBY-172:
---------------------------------
Summary: Improve documentation for BEFORE triggers (was: Trigger activation)
Changing title to better reflect the user request for better documentation for BEFORE triggers.
> 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
>
> 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.
-
You can reply to this email to add a comment to the issue online.