Skip site navigation (1) Skip section navigation (2)

Re: Update from lento

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 (view raw or flat)
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)

In response to

Responses

pgsql-es-ayuda by date

Next:From: Josué MaldonadoDate: 2004-05-21 23:47:14
Subject: Re: Update from lento
Previous:From: Alvaro HerreraDate: 2004-05-21 23:34:21
Subject: Re: Re:

Privacy Policy | About PostgreSQL
Copyright © 1996-2014 The PostgreSQL Global Development Group