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

Responder a