It's unknown how VFP handles such conditions but most likely it creates a cursor with subquery and then matches each record from the main table to it. The following command should be faster
UPDATE Invoices ;
SET InvoiceId = "ABC123" ;
FROM Invoices
JOIN Invoices2 ON Invoices2.RecordId = Invoices.RecordId
>I have the following command:
>
>
>UPDATE Invoices;
> SET InvoiceId = "ABC123";
> WHERE RecordId IN;
> (SELECT RecordId
> FROM Invoices2)
>
>
>
>
>
>1) Does VFP first create a subset of Invoices2.RecordId and then use that
>to drive the update Invoices? Or is each record in Invoices2 evaulated
>for every record in Invoices?
>
>2) Is there a more efficient way to do this?
>
--sb--