Skip site navigation (1) Skip section navigation (2)

Re: Integer con '' para carga masiva

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 (view raw or flat)
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."

In response to

Responses

pgsql-es-ayuda by date

Next:From: postgres Emanuel CALVO FRANCODate: 2008-10-28 19:01:29
Subject: Re: Integer con '' para carga masiva
Previous:From: Jenaro Centeno GómezDate: 2008-10-28 17:40:51
Subject: Re: trigger para =?ISO-8859-1?Q?actualizaci=F3n?=de datos con otra tabla

Privacy Policy | About PostgreSQL
Copyright © 1996-2014 The PostgreSQL Global Development Group