Subject | Re: [firebird-support] Re: Update with data FROM a table |
---|---|
Author | Aage Johansen |
Post date | 2005-08-25T20:38:43Z |
m_formigoni wrote:
As for (very high) cost, after the first select most data will be in memory
(cache) so the next selects will probably not incur the overhead of
physical disk access.
--
Aage J.
> --- In firebird-support@yahoogroups.com, Magnus TithoThis has been discussed on the Interbase/Firebird lists for years...
> <magnus.titho@k...> wrote:
>
>>update table1 t1
>>set t1.field1 =3D (select t2.field1 from table2 t2 where t1.id =3D t2.id)=
>
> ,
>
>>t1.field2 =3D (select t2.field2 from table2 t2 where t1.id =3D t2.id)
>>=20
>>This will either work or throw an error "multiple rows in singleton=20
>>select" if there is more than one matching record in table2.
>>=20
>>--=20
>>Magnus
>
>
> Yes, it works fine, but I'm looking for a way that I don't need to do
> "n" selects in the table2 (imagine updating 30 fields in table1 from
> table2, its costs goes very high).
>
As for (very high) cost, after the first select most data will be in memory
(cache) so the next selects will probably not incur the overhead of
physical disk access.
--
Aage J.