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:
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 |