Re: equivalente de exist

From: Alvaro Herrera <alvherre(at)alvh(dot)no-ip(dot)org>
To: Erik Cubillos <nemesis0429(at)hotmail(dot)com>
Cc: pgsql-es-ayuda(at)postgresql(dot)org
Subject: Re: equivalente de exist
Date: 2005-09-09 14:16:59
Message-ID: 20050909141659.GA21389@surnet.cl
Views: Raw Message | Whole Thread | Download mbox | Resend email
Thread:
Lists: pgsql-es-ayuda

On Fri, Sep 09, 2005 at 08:39:51AM -0500, Erik Cubillos wrote:

> <html><div style='background-color:'><DIV class=RTE>hola... veran
> necesito hacer una consulta sobre una tabla y necesito saber si un
> registro ya existe y de acuerdo a eso hacer un update o un insert y
> quisiera saber si en postgresql hay una funcion equivalente al exist
> de sql server gracias</DIV></div><br clear=all><hr>MSN Amor <a
> href="http://g.msn.com/8HMBES/2737??PS=47575" target="_top">Busca tu ½
> naranja</a> </html>

Claro! Se llama exists.

En realidad hacer una cosa asi con EXISTS esta sujeto a condiciones de
carrera, por lo tanto dos procesos concurrentes pueden tener problemas.
En 8.0 puedes solucionar esto usando EXCEPTIONS del plpgsql; hay un
ejemplo de esto en la documentacion de 8.1, que tambien funciona en 8.0:

http://developer.postgresql.org/docs/postgres/plpgsql-control-structures.html#PLPGSQL-ERROR-TRAPPING

Por supuesto, la forma bendecida por el comite ISO/IEC que define el
estandar SQL es usar el comando MERGE, pero todavia no esta
implementado.

--
Alvaro Herrera -- Valdivia, Chile Architect, www.EnterpriseDB.com
"No renuncies a nada. No te aferres a nada."

In response to

Browse pgsql-es-ayuda by date

  From Date Subject
Next Message Alvaro Herrera 2005-09-09 14:21:25 Re: slony
Previous Message WILLIAM PARRA 2005-09-09 14:00:52 Re: equivalente de exist