Subject Re: [firebird-support] How to skip a trigger in the same trigger?
Author Martijn Tonies (Upscene Productions)
Hello Gabor,

>> Hi,
>>
>> First question: why do you have an UPDATE <table1> in a BEFORE UPDATE
>> trigger on <table1>?
>
>The table have many fields and a UNIQUE constraint with four fields, one
>the ISDEFAULT from it (only one default accepted for groups of rows
>depend on the other three fields (which included also in the UNIQUE)
>value). If the user change the default row to not default and set other
>to default in the application I need to set the old default row to not
>default because if not do before set the new default the UPDATE violate
>the UNIQUE.


I agree with Dimitry, you might want to revise this design. If you have a
table with a single value and a reference to this table, there can be only 1
default
row, by design.

Removing a row from this table and inserting a new one (or updating the old
row),
would then always have a single row assigned to be the default and avoids
the recursive trigger.


With regards,

Martijn Tonies
Upscene Productions
http://www.upscene.com

Download Database Workbench for Oracle, MS SQL Server, Sybase SQL
Anywhere, MySQL, InterBase, NexusDB and Firebird!