From: | Alvaro Herrera <alvherre(at)dcc(dot)uchile(dot)cl> |
---|---|
To: | Josué Maldonado <josue(at)lamundial(dot)hn> |
Cc: | postgresql spanish <pgsql-es-ayuda(at)postgresql(dot)org> |
Subject: | Re: Update from lento |
Date: | 2004-05-21 23:41:18 |
Message-ID: | 20040521234118.GB19793@dcc.uchile.cl |
Views: | Raw Message | Whole Thread | Download mbox | Resend email |
Thread: | |
Lists: | pgsql-es-ayuda |
On Fri, May 21, 2004 at 04:51:52PM -0600, Josué Maldonado wrote:
> He utilizado el siguiente codigo para actualizar una tabla con datos de
> otra:
> UPDATE product SET
> pro_pdetalle = ss.detalle,
> pro_pdocena = ss.precioma2,
> pro_pmayorista = ss.precioma1,
> pro_prevendedor = ss.preciorev
> FROM precios ss, product f
> where precios.procode = f.pro_code
Creo que tienes un cross join irrestricto que agranda la consulta mucho
mas de lo que esperas. Prueba lo siguiente:
UPDATE product SET
pro_pdetalle = ss.detalle,
pro_pdocena = ss.precioma2,
pro_pmayorista = ss.precioma1,
pro_prevendedor = ss.preciorev
FROM precios ss
where ss.procode = product.pro_code
La forma que tienes arriba me parece que esta haciendo un join de
product, product AS f, precios AS ss, precios
(dos tablas repetidas!)
Probablemente no es lo que quieres (en otras palabras: el problema es
un "implicit from").
--
Alvaro Herrera (<alvherre[a]dcc.uchile.cl>)
Licensee shall have no right to use the Licensed Software
for productive or commercial use. (Licencia de StarOffice 6.0 beta)
From | Date | Subject | |
---|---|---|---|
Next Message | Josué Maldonado | 2004-05-21 23:47:14 | Re: Update from lento |
Previous Message | Alvaro Herrera | 2004-05-21 23:34:21 | Re: Re: |