> Date: Mon, 27 Oct 2008 18:43:33 -0300 > From: [EMAIL PROTECTED] > To: [EMAIL PROTECTED] > CC: [email protected] > Subject: Re: [pgsql-es-ayuda] Integer con '' para carga masiva > > 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. > > Hmmm :-( ¿Y no puedes recibir los datos en un formato CSV, que sea más fácil > de digerir? > >> Podria hacerlo en un trigger? > > Creo que no. > > Lo que yo intentaría en este caso, sería crear una tabla de paso con varias > columnas de tipo text, y luego de insertar todos los valores haces un > INSERT INTO otratabla SELECT * FROM tabla_de_paso > (opcionalmente aplicas cast si es necesario) >
Estoy tratando de hacer lo que dices pero cuando uso la otra tabla temporal al insertar '' en el campo text cuando hago INSERT INTO otratabla SELECT * FROM tabla_de_paso lllega lo mismo a la tabla original y me da el mismo error. Pense enviarlo desde psql como csv pero me envian una coma',' al final lo que me rompe la estructura de tabla vs. archivo > -- > Alvaro Herrera http://www.amazon.com/gp/registry/5ZYLFMCVHXC > "Digital and video cameras have this adjustment and film cameras don't for the > same reason dogs and cats lick themselves: because they can." (Ken Rockwell) > -- > TIP 3: Si encontraste la respuesta a tu problema, publícala, otros te lo > agradecerán _________________________________________________________________ Get more from your digital life. Find out how. http://www.windowslive.com/default.html?ocid=TXT_TAGLM_WL_Home2_082008-- TIP 2: puedes desuscribirte de todas las listas simultáneamente (envía "unregister TuDirecciónDeCorreo" a [EMAIL PROTECTED])
