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."
signature.asc
Description: Esta parte del mensaje está firmada digitalmente
