Re: copy from

From: Guillermo Villanueva <guillermovil(at)gmail(dot)com>
To: Manuel Diego <manuel(at)radiohead(dot)cl>
Cc: gilberto(dot)castillo(at)etecsa(dot)cu, pgsql-es-ayuda <pgsql-es-ayuda(at)postgresql(dot)org>, Fernando Nuñez <fernandonu(at)gmail(dot)com>
Subject: Re: copy from
Date: 2010-07-26 16:14:49
Message-ID: AANLkTi=Tcz=EcAs-=NsNkh9iM0A6jnFrquocnf7tnxP7@mail.gmail.com
Views: Raw Message | Whole Thread | Download mbox | Resend email
Thread:
Lists: pgsql-es-ayuda

Gracias Manuel por tu aporte, te comento que si ponés en forma explícita las
columnas, según el orden de tu fuente de datos, tambien funciona bien, paso
a explicarme con un ejemplo
Si el TXT está generado con las columnas B A C y la tabla tiene las columnas
definidas en el orden A B C. Se puede hacer:
copy tablaBaseDatos(B, A, C) from 'Archivo.TXT'
y funciona de maravilla
Saludos

~~~~~~~~~~~~~~~~
Guillermo Villanueva

2010/7/26 Manuel Diego <manuel(at)radiohead(dot)cl>

> Cuando haces un COPY FROM el orden de las columnas del archivo TSV, CSV,
> etc... debe ser el mismo que tiene la tabla. Por lo cual, si en tu TSV la
> primera columna tiene un VARCHAR y la primera columna de tu tabla es un
> INTEGER se caerá.
>
>
> El 23-07-2010, a las 9:44, Guillermo Villanueva escribió:
>
> Pude resolver en parte el problema, modifiqué la generación del txt
> poniendo en la primera columna un varchar y no un integer y en la sentencia
> de copy le agregué las columnas en forma explícita intercambiando tambien la
> primera columna:
>
> copy nacer."smiafiliados" (
> clavebeneficiario,
> id_smiafiliados,
> afiapellido,
> afinombre,
> afitipodoc,
> aficlasedoc,
> afidni,
> afisexo,
> afidomdepartamento,
> afidomlocalidad,
> afitipocategoria,
> afifechanac,
> activo,
> cuieefectorasignado,
> cuielugaratencionhabitual,
> motivobaja,
> mensajebaja,
> fechainscripcion,
> fechacarga,
> usuariocarga
> )
> FROM E'D:\\sistemas\\nacer\\modulos\\nacer\\smiafiliados3.txt'
> NULL AS 'NULL'
>
> clavebeneficiario es de tipo varchar
> Definitivamente el problema es cuando tenemos un integer en la primera
> columna.
>
> Saludos
>
> ~~~~~~~~~~~~~~~~
> Guillermo Villanueva
>
>
> El 23 de julio de 2010 09:06, Guillermo Villanueva <guillermovil(at)gmail(dot)com
> > escribió:
>
>> Gilberto, gracias por responder.
>> Cuando es TXT el delimitador es TAB por defecto
>> Saludos
>>
>> ~~~~~~~~~~~~~~~~
>> Guillermo Villanueva
>>
>>
>> El 23 de julio de 2010 08:52, Gilberto Castillo Martínez <
>> gilberto(dot)castillo(at)etecsa(dot)cu> escribió:
>>
>>>
>>>
>>> El jue, 22-07-2010 a las 23:42 -0300, Guillermo Villanueva escribió:
>>> > Hola gente, buenas noches, resulta que tengo un archivo de texto cuyas
>>> > columnas están separadas por tabuladores. Las columnas coinciden en
>>> > cantidad y tipo con las de una tabla, el archivo está en UTF-8, la
>>> > base también... (supongo)
>>>
>>> Revisa el comando COPY te esta faltando el delimitador de columnas.
>>>
>>> --
>>> Saludos,
>>> Gilberto Castillo
>>> Edificio Beijing. Miramar Trade Center. Etecsa.
>>> Miramar, La Habana.Cuba.
>>>
>>> ---
>>> This message was processed by Kaspersky Mail Gateway 5.6.28/RELEASE
>>> running at host imx3.etecsa.cu
>>> Visit our web-site: <http://www.kaspersky.com>, <
>>> http://www.viruslist.com>
>>>
>>>
>>
>
>
> ------------------------
> *Manuel Diego Paillafil Gamboa*
> manuel(at)radiohead(dot)cl
> Móvil: 06 - 801 60 24
>
>
>
>
>

In response to

Browse pgsql-es-ayuda by date

  From Date Subject
Next Message Roberto A. 2010-07-26 19:43:45 Insertar image en un campo bytea???
Previous Message Oswaldo Hernández 2010-07-26 16:10:46 Re: Select con valores nulos