probaste en el ddl de la tabla porner un default al campo de los enteros o crear un rule?
El día 28 de octubre de 2008 16:09, Agustin <[EMAIL PROTECTED]> escribió: > 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." > -- Emanuel Calvo Franco Syscope Postgresql DBA BaPUG Member -- TIP 6: ¿Has buscado en los archivos de nuestra lista de correo? http://archives.postgresql.org/pgsql-es-ayuda