Re: Integer con '' para carga masiva

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)

In response to

Responses

Browse pgsql-es-ayuda by date

  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