Foros del Web » Programación para mayores de 30 ;) » Bases de Datos General » PostgreSQL »

Aceptar Null En Campo Numerico... Como?

Estas en el tema de Aceptar Null En Campo Numerico... Como? en el foro de PostgreSQL en Foros del Web. Que tal amigos, Si creo una tabla con columnas numericas (tipo numeric y/o integer) sin declararlas como NOT NULL e intento ingresar un nulo en ...
  #1 (permalink)  
Antiguo 25/07/2006, 12:10
 
Fecha de Ingreso: junio-2004
Ubicación: Ciudad de Panama
Mensajes: 551
Antigüedad: 20 años, 5 meses
Puntos: 8
Aceptar Null En Campo Numerico... Como?

Que tal amigos,

Si creo una tabla con columnas numericas (tipo numeric y/o integer) sin declararlas como NOT NULL e intento ingresar un nulo en dicha columna me reporta el error ERROR: invalid input syntax for type numeric: ""

Como puedo lograr que acepte nulos en este tipo de dato sin tener que declararlos como tipo character?

Ejemplo:

create table x (a numeric(2,2));
Insert into x values ('');
ERROR: invalid input syntax for type numeric: ""


Agradezco de antenano su valiosa colaboracion al respecto

Un Cordial Saludo
  #2 (permalink)  
Antiguo 25/07/2006, 14:48
foo
 
Fecha de Ingreso: febrero-2006
Mensajes: 278
Antigüedad: 18 años, 10 meses
Puntos: 0
Código:
test=# create table x (a numeric(2,2));
CREATE TABLE
test=# insert into x values (NULL);
INSERT 0 1
  #3 (permalink)  
Antiguo 25/07/2006, 16:20
 
Fecha de Ingreso: junio-2004
Ubicación: Ciudad de Panama
Mensajes: 551
Antigüedad: 20 años, 5 meses
Puntos: 8
Gracias foo por responder,

Surgeme otra duda.... habra alguna forma de que no sea necesario indicarle NULL si no simplemente dejar '' ?

El lio es que para mis scripts, en php, manejan tablas con muchas columnas se hace tedioso evaluar cual columna es numerica para reemplazar las '' por NULL

Igual, si entro por phpPgAdmin y hago una consulta de ciertas tablas en las columnas numericas que no tienen informacion no me muestra NULL si no el campo vacio (sin informacion)

Mil Gracias

Un cordial Saludo
  #4 (permalink)  
Antiguo 25/07/2006, 16:59
foo
 
Fecha de Ingreso: febrero-2006
Mensajes: 278
Antigüedad: 18 años, 10 meses
Puntos: 0
Cita:
Iniciado por augusto_jaramil
Surgeme otra duda.... habra alguna forma de que no sea necesario indicarle NULL si no simplemente dejar '' ?
por supuesto!, sólo tienes que modificar el código fuente de postgres y recompilarlo
Cita:
Igual, si entro por phpPgAdmin y hago una consulta de ciertas tablas en las columnas numericas que no tienen informacion no me muestra NULL si no el campo vacio (sin informacion)
eso es así para efectos de visualizacion, si quieres que aparezca otra cosa, sólo tienes que modificar el código de phppgadmin
  #5 (permalink)  
Antiguo 25/07/2006, 17:07
 
Fecha de Ingreso: junio-2004
Ubicación: Ciudad de Panama
Mensajes: 551
Antigüedad: 20 años, 5 meses
Puntos: 8
Cita:
Iniciado por foo
por supuesto!, sólo tienes que modificar el código fuente de postgres y recompilarlo
No ledigo.... un lio lleva a otro lio hasta que se encuentra la solucion!!!!

El lio que sigue es cual fente de postgres tendria que modificar?

Todo esto se me presenta al hacer una migracion de Informix a Postgres, donde Informix no me pone problema para nada con esto

Attn. Novato en estas lides
  #6 (permalink)  
Antiguo 25/07/2006, 17:10
foo
 
Fecha de Ingreso: febrero-2006
Mensajes: 278
Antigüedad: 18 años, 10 meses
Puntos: 0
Te aseguro que va a ser mas sencillo que modifiques tus scripts en PHP a modificar PostgreSQL (no se noto la indirecta?).
  #7 (permalink)  
Antiguo 25/07/2006, 17:19
 
Fecha de Ingreso: junio-2004
Ubicación: Ciudad de Panama
Mensajes: 551
Antigüedad: 20 años, 5 meses
Puntos: 8
Cita:
Iniciado por foo
Te aseguro que va a ser mas sencillo que modifiques tus scripts en PHP a modificar PostgreSQL (no se noto la indirecta?).
Si joven aun... entiendo lo que me quieres decir... resultara mas sencillo modificar mis scripts
Es que uno de novato y TERRRRCO..... pense que resultaria mas sencillo

De todas formas agradezco infinito tu interes en el tema

Cordial Saludo
Atención: Estás leyendo un tema que no tiene actividad desde hace más de 6 MESES, te recomendamos abrir un Nuevo tema en lugar de responder al actual.
Respuesta




La zona horaria es GMT -6. Ahora son las 02:11.