--- In firebird-support@yahoogroups.com, Paul Vinkenoog  wrote:
....
> 
> It is often more useful to define the BI trigger as:
> 
>   create trigger T_BI for T before insert as
>   begin
>     if (new.ID is null) then new.ID = next value for SEQ;
>   end^
> 
> (but if you had done that, you wouldn't have detected the inconsistency below 
> ;-))

Well, I've seen that but I don't like the idea. An auto-generated ID should be 
auto-generated in all cases. Imagine for example someone inserting a random 
higher value that will one day come into conflict with the sequence-generated...

....
> 
>   insert into T values (new.ID) returning T.id into :new.id;
> 
> That would solve the whole problem (he said without having tested it).

Yes, that works, but I consider it a workaround :)
The same thing happens for calculated and DEFAULT fields as well.

Thanks
Emil


Reply via email to