Subject | Re: Triggers chain |
---|---|
Author | terryleonardo |
Post date | 2007-02-27T14:05:38Z |
Hi Thierry,
If your 2nd trigger expect to qty must be greater than 0, you should
use constrain instead of trigger. Because you can not delete the
same row when the table engaged in your updating.
If your intension is deleting a row in mytable through an update
query, you had better to make it with delet and update query
separately.
In the 3rd trigger, you did not mention which table that the trigger
lies. I assume it it attached in the same table, and you could
update new.field[s] within the trigger.
Regards,
Terry
a DB hobbyist
If your 2nd trigger expect to qty must be greater than 0, you should
use constrain instead of trigger. Because you can not delete the
same row when the table engaged in your updating.
If your intension is deleting a row in mytable through an update
query, you had better to make it with delet and update query
separately.
In the 3rd trigger, you did not mention which table that the trigger
lies. I assume it it attached in the same table, and you could
update new.field[s] within the trigger.
Regards,
Terry
a DB hobbyist
--- In firebird-support@yahoogroups.com, Tetram Corp <dev@...> wrote:
>
> is there a way to break a trigger chain?
>
> on a table, i've got 3 triggers after update. First is not revelant
>
> second does:
> if (new.qty = 0) then
> delete from mytable where id = new.id
>
> third does:
> if (new.field = 'T') then
> execute procedure update_mytable;
> else
> execute procedure update_othertable;
>
> the problem is that, sometimes, update_mytable assign 0 to the
field qty.
>
> so i've got an error saying "too many execution of the same query"
(not
> sure about the message but sense is there)
>
> the solution i used to solve my problem was to change the third
trigger to
>
> if ((new.field = 'T') and (new.qty > 0)) then
> etc
>
> except using an exception, is there a way i could use to break the
> trigger chain ?
>
> Thierry
>