From: | Alvaro Herrera <alvherre(at)alvh(dot)no-ip(dot)org> |
---|---|
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-27 21:43:33 |
Message-ID: | 20081027214333.GK3866@alvh.no-ip.org |
Views: | Raw Message | Whole Thread | Download mbox | Resend email |
Thread: | |
Lists: | pgsql-es-ayuda |
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.
Hmmm :-( ¿Y no puedes recibir los datos en un formato CSV, que sea más fácil
de digerir?
> Podria hacerlo en un trigger?
Creo que no.
Lo que yo intentaría en este caso, sería crear una tabla de paso con varias
columnas de tipo text, y luego de insertar todos los valores haces un
INSERT INTO otratabla SELECT * FROM tabla_de_paso
(opcionalmente aplicas cast si es necesario)
--
Alvaro Herrera http://www.amazon.com/gp/registry/5ZYLFMCVHXC
"Digital and video cameras have this adjustment and film cameras don't for the
same reason dogs and cats lick themselves: because they can." (Ken Rockwell)
From | Date | Subject | |
---|---|---|---|
Next Message | Jaime Casanova | 2008-10-27 22:21:35 | Re: Integer con '' para carga masiva |
Previous Message | Edwin Quijada | 2008-10-27 21:41:02 | Integer con '' para carga masiva |