From: | "Javier Ochoa \(uolsinectis\)" <javier_8a(at)uolsinectis(dot)com(dot)ar> |
---|---|
To: | "'Miguel'" <mmiranda(at)123(dot)com(dot)sv>, <pgsql-es-ayuda(at)postgresql(dot)org> |
Subject: | RE: cambiar query insert por un update si el registro ya existe |
Date: | 2008-04-23 15:46:18 |
Message-ID: | 20080423154603.378191B55D@eitan.capfed2.sinectis.com.ar |
Views: | Raw Message | Whole Thread | Download mbox | Resend email |
Thread: | |
Lists: | pgsql-es-ayuda |
Yo creo que deberias en la funcion hacer una consulta primero (puede ser
Select Count(*))
Si es mayor a 0 es que existe entonces haces un Update.
Si es menor a 0 es que no existe y haces un Insert.
Saludos
Javier Ochoa
Ing. en Sistemas de Información
Analista de Sistemas
Jugador de Futbol
Jugador de Ajedrez
Guitarrero, Cuyano y Cantor
Msn: javier_8a(at)hotmail(dot)com
Mail: javier_8a(at)uolsinectis(dot)com(dot)ar
Otro: jorgejavier8a(at)yahoo(dot)com(dot)ar
-----Mensaje original-----
De: pgsql-es-ayuda-owner(at)postgresql(dot)org
[mailto:pgsql-es-ayuda-owner(at)postgresql(dot)org] En nombre de Miguel
Enviado el: Miércoles, 23 de Abril de 2008 12:10
Para: pgsql-es-ayuda(at)postgresql(dot)org
Asunto: [pgsql-es-ayuda] cambiar query insert por un update si el registro
ya existe
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
---
Miguel
--
TIP 9: visita nuestro canal de IRC #postgresql-es en irc.freenode.net
--
No virus found in this incoming message.
Checked by AVG.
Version: 7.5.524 / Virus Database: 269.23.3/1391 - Release Date: 22/04/2008
08:15 a.m.
From | Date | Subject | |
---|---|---|---|
Next Message | Juan Carlos Barranco de Paz | 2008-04-23 17:53:07 | RE: data warehouse |
Previous Message | Jenaro Centeno Gomez | 2008-04-23 15:18:57 | Re: cambiar query insert por un update si el registro ya existe |