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."
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 |