Re: cambiar query insert por un update si el registro ya existe

From: "Marcos Saldivar" <baron(dot)rojo(dot)cuerdas(dot)de(dot)acero(at)gmail(dot)com>
To: Miguel <mmiranda(at)123(dot)com(dot)sv>
Cc: pgsql-es-ayuda(at)postgresql(dot)org
Subject: Re: cambiar query insert por un update si el registro ya existe
Date: 2008-04-24 00:05:27
Message-ID: 1c4d91ab0804231705g120703aatbdf19467815aed6b@mail.gmail.com
Views: Raw Message | Whole Thread | Download mbox | Resend email
Thread:
Lists: pgsql-es-ayuda

El día 23 de abril de 2008 11:10, Miguel <mmiranda(at)123(dot)com(dot)sv> escribió:
> Saludos a todos, existe alguna forma de cambiar un query insert por un
> update si la fila ya existe? Algo asi como insert or update tabla values
> (xxxxx)
> Me explico
> digamos la tabla tarifa (idorigen int, iddestino int, tarifa numeric)
> y tengo el archivo cvs tarifas.csv:
> 1,1,0.10
> 1,2,0.20
> 1,3,0.10
> etc
>
> Tengo un perl script que lee el archivo y ejecuta inserts en la tabla
> usando un funcion inserta_tarifas(int,int,numeric), yo quiero usar el mismo
> archivo independientemente si es para insertar nuevas o actualizar las
> antiguas de manera que si la combinacion 1,1,0.10 ya existe y la primera
> fila que esta en el archivo es 1,1,0.20, entonces un regla (o trigger)
> deberia verificar si la fila ya existe y ejecutar un update en lugar de
> insertar otro registro y que al final en la tabla no quede
> 1,1,0.10
> 1,1,0.20
> sino que
> 1,1,0.20
>
> Si necesitan mayor detalle favor hacermelo saber

hay un ejemplo en la documentacion de un procedimiento almacenado que
hace un insert y se falla hace un update aqui esta:

http://www.postgresql.org/docs/8.3/static/sql-update.html

In response to

Browse pgsql-es-ayuda by date

  From Date Subject
Next Message Ricardo Granados Tiznado 2008-04-24 03:48:23 ERROR AL RESPALDAR
Previous Message César Piñera García 2008-04-23 23:12:37 RE: cambiar query insert por un update si el registro ya existe