From: | Agustin <agustinhenze(at)gmail(dot)com> |
---|---|
To: | Edwin Quijada <listas_quijada(at)hotmail(dot)com> |
Cc: | pgsql-es-ayuda(at)postgresql(dot)org |
Subject: | Re: Integer con '' para carga masiva |
Date: | 2008-10-28 18:09:07 |
Message-ID: | 1225217347.18362.20.camel@fusioncordoba |
Views: | Raw Message | Whole Thread | Download mbox | Resend email |
Thread: | |
Lists: | pgsql-es-ayuda |
El lun, 27-10-2008 a las 21:41 +0000, Edwin Quijada escribió:
> Estoy tratando de ingresar datos en una tabla mediante insert. El problema es que los iNsert que recibo son de la sigte forma
> INSERT INTO table VALUES('x','1','','','r');
>
> Mi problema es que si el campo es integer y envio '' me da un error. Lo que quiero es saber si hay una forma de poder omitir este error y que PG cuando reciba '' lo convierta en NULL o 0 como quiera. Se que puedo analizar el insert antes de , pero seria un gran trabajo tomando en cuenta la cantidad de records que tengo y la cantidad de archivos q es ademas tendria que estar averiguando el ti[po de datos de cada columna.
>
> Podria hacerlo en un trigger?
Esto es algo parecido a lo que haría yo, pero no se bien cual es el
caso. Esta función o impovisación para ser mas exacto revisa los valores
int1,2 y 3 si no tienen nada les pone cero y luego inserta el valor en
la tabla, por supuesto a modo de ej.
create or replace function insertarValor (char1 text, int1 text, int2
text, int3 text, char2 text)
returns void
as $$
if int1 == "":
args[1] = 0
if int2 == "":
args[2] = 0
if int3 == "":
args[3] = 0
sentencia = "INSERT INTO tabla VALUES('" + "','".join(map(str, args)) +
"')"
hola = plpy.execute(sentencia)
$$ language plpythonu;
PD: Si el msj llega dos veces, perdón...
---
TiN
"A computer is like an air conditioner.It stops working when
you open windows."
From | Date | Subject | |
---|---|---|---|
Next Message | postgres Emanuel CALVO FRANCO | 2008-10-28 19:01:29 | Re: Integer con '' para carga masiva |
Previous Message | Jenaro Centeno Gómez | 2008-10-28 17:40:51 | Re: trigger para actualización de datos con otra tabla |