Subject Re: [ib-support] problem updating correctly
Author Claudio Valderrama C.
""Nick Upson"" <uebridger@...> wrote in message
news:F270i90gP8yJrNKBquj0001bf33@......
> I can't solve your larger problem but I can (I think) fix this.
> the problem is that you have delitems in 2 places, change to this:
>
> Update Delitems
> Set Inv_Nmbr=(Select InvHead.Inv_Nmbr From InvHead
> Inner Join DelItems DI on DI.Acno=InvHead.Acno
> Where DI.Delivered='N'
> And InvHead.Delivered='N');

Effectively, the check is in the same original routine that attempts to
resolve a field against a table. Hence, whenever the original code would
pick a random field among the possible alternatives, the new code rejects
the ambiguity, saving you from possible data problems. The field selection
is not random really, but the user shouldn't be concerned if the fields are
managed in a stack, a linked list, a vector, a queue, etc. Relying on an
implementation detail to solve an ambiguity is a recipe for spoiled data.

C.
--
Claudio Valderrama C. - http://www.cvalde.com - http://www.firebirdSql.org
Independent developer
Owner of the Interbase® WebRing