[Pgsql-ayuda] update exists

Xavi Puig personal@xavihost.com
Thu, 24 Oct 2002 19:53:8 +0100


La subconsulta es din=E1mica.
Lo que quiero es aprovechar la potencia de la busqueda( que ya=
 tengo desarrollada) para la actualizaci=F3n de los datos(por=
 desarrollar) por eso la subconsulta ser=E1 muy cambiante, pero=
 siempre devolver=E1 los mismos campos de tab1.



>On Thu, Oct 24, 2002 at 05:15:05PM +0100, Xavi Puig wrote:
>> Perd?n, se me habia olvidado la query:
>> 
>> UPDATE tab1 SET col20=3Dfalse WHERE exists (select * from=
 (select * from tab1 where col20=3Dtrue) as alias0,tab2,tab3 where=
 (tab2.col2=3Dtab3.col1 and tab3.col2=3Dalias0.col1) and (=
 tab2.col2=3D20500))
>
>Hmm... que tuplas se supone que tiene que actualizar?  Como=
 estas
>uniendo tab1 con la subconsulta?  Me parece sospechoso esto,=
 estas
>seguro que es correcto?  Intenta reescribirlo.
>
>update tab1 set col20=3Dfalse from tab3
>where
>=09tab3.col1=3D20500 and
>=09tab3.col2=3Dtab1.col1 and
>=09tab1.col20=3Dtrue
>
>No es equivalente?  No estoy seguro pero me parece que si ...
>
>-- 
>Alvaro Herrera (<alvherre[a]dcc.uchile.cl>)
>Dios hizo a Ad=E1n, pero fue Eva quien lo hizo hombre.