Re: MERGE (upsert) en postgres?

From: Alvaro Herrera <alvherre(at)alvh(dot)no-ip(dot)org>
To: Ferran Fontcuberta <ferran(at)fompi(dot)net>
Cc: pgsql-es-ayuda <pgsql-es-ayuda(at)postgresql(dot)org>
Subject: Re: MERGE (upsert) en postgres?
Date: 2009-03-05 14:40:50
Message-ID: 20090305144050.GD4087@alvh.no-ip.org
Views: Raw Message | Whole Thread | Download mbox | Resend email
Thread:
Lists: pgsql-es-ayuda

Ferran Fontcuberta escribió:
> Buenos días; listeros,
>
> Hay algún comando para hacer un "upsert"? podría hacerlo en código, pero
> molaría que fuese atómico; quizá en plsql :??

Hay un ejemplo en el manual de plpgsql:
http://www.postgresql.org/docs/current/static/plpgsql-control-structures.html#PLPGSQL-ERROR-TRAPPING

La función se llama "merge_db".

Nota que la orden MERGE según la define el estándar SQL no es lo mismo
que lo que normalmente se entiende por UPSERT. La principal diferencia
es cómo se comportan en escenarios concurrentes.

--
Alvaro Herrera http://www.amazon.com/gp/registry/5ZYLFMCVHXC
"Lo esencial es invisible para los ojos" (A. de Saint Exúpery)

In response to

Browse pgsql-es-ayuda by date

  From Date Subject
Next Message Javier Chávez B. 2009-03-05 14:46:20 Re: Migrar sql a postgres
Previous Message Teófilo Oviedo 2009-03-05 14:35:27 [OT] Plan de migración de un sistema y BD