RE: Llenar tablas a partir de un BYTEA

From: Lazaro Rubén García Martinez <lgarciam(at)vnz(dot)uci(dot)cu>
To: Marcos Alberto Flores Valda <marcos(dot)flores(at)ende(dot)bo>
Cc: "pgsql-es-ayuda(at)postgresql(dot)org" <pgsql-es-ayuda(at)postgresql(dot)org>
Subject: RE: Llenar tablas a partir de un BYTEA
Date: 2011-10-06 21:28:45
Message-ID: 294D3D02D5E18D42827B2ECFEADEB6881E3A0A6B70@mx-interno.vnz.uci.cu
Views: Raw Message | Whole Thread | Download mbox | Resend email
Thread:
Lists: pgsql-es-ayuda

Ya te entendí, mira , inicialmente, no te hace falta poner las cosas en un campo de tipo bytea en la tabla X, para luego almacenar la info en la tabla Y tal como está en el EXCEL; eso que deseas, lo puedes hacer directamente. Acá te dejo un pequeño ejemplo y además te adjunto un fichero en formato .csv, que es el que se guarda en el ejemplo dentro de la tabla de prueba, tienes que tener en cuenta que el usuario postgres debe tener permisos de lectura sobre este fichero.

Saludos y espero te sirva.

/*
Creación de la tabla
*/
CREATE TABLE public.prueba_copy (
nombre VARCHAR,
edad INTEGER
) WITHOUT OIDS;

/*
Importar los datos del fichero .csv a la tabla
*/
COPY prueba_copy(nombre, edad) FROM E'C:\\Documents and Settings\\lazaro\\Escritorio\\Libro1.csv'
WITH (FORMAT 'csv', DELIMITER ';', HEADER TRUE);

FORMAT es para especificar que los datos se leerán de un fichero .csv.
DELIMITER es para indicar el carácter que separa las columnas.
HEADER TRUE es para que la primera línea del fichero .csv sea ignorada, en caso de que en esta se encuentre el nombre de las columnas.

De: Marcos Alberto Flores Valda [mailto:marcos(dot)flores(at)ende(dot)bo]
Enviado el: jueves, 06 de octubre de 2011 09:35
Para: Lazaro Rubén García Martinez
Asunto: Re: [pgsql-es-ayuda] Llenar tablas a partir de un BYTEA

Hola Lazaro, a ver te explico con mas detalle:

Tengo un archivo en formato excel digamos de 4 columnas y varias filas, lo guardamos en formato CSV que es como una tabla de excel, pero en este caso estos archivos son una sola columna solo q estos 4 campos estan separados por comas o ;
Este CSV lo subo a la BD a una tabla X que tiene un campo bytea que contendra los datos del CSV en cuestion
Luego de alguna manera agarro estos datos del campo bytea los "proceso" y los meto a la tabla Y pero separando los datos, algo similar a un explode en PHP por las comas o ; y los voy metiendo en la tabla Y, obteniendo como resultado los datos del Excel original solo q en mi tabla Y, es algo complicado, nose si me entendiste
________________________________
De: "Lazaro Rubén García Martinez" <lgarciam(at)vnz(dot)uci(dot)cu>
Para: "Marcos Alberto Flores Valda" <marcos(dot)flores(at)ende(dot)bo>, pgsql-es-ayuda(at)postgresql(dot)org
Enviados: Miércoles, 5 de Octubre 2011 21:39:45
Asunto: RE: [pgsql-es-ayuda] Llenar tablas a partir de un BYTEA

Bueno, realmente no comprendo muy bien lo que quieres hacer, pero si lo que deseas es generar una información a partir de los datos almacenados en la tabla X, y almacenarlos en Y, luego de haber guardado toda la info en X, pudieras utilizar un procedimiento almacenado que te calculase lo que deseas e insertase el resultado en Y. Realmente no te puedo ayudar mucho más porque no me ubico bien en lo que deseas hacer.

Saludos.

De: Marcos Alberto Flores Valda [mailto:marcos(dot)flores(at)ende(dot)bo]
Enviado el: miércoles, 05 de octubre de 2011 06:28
Para: Lazaro Rubén García Martinez
Asunto: Re: [pgsql-es-ayuda] Llenar tablas a partir de un BYTEA

gracias x responder, y exacto mi amigo Lazaro, subo el CSV a una tabla X, luego extraigo ese campo y meto los datos en una tabla Y, la idea es q al ser el archivo CSV por decirlo asi un excel con filas y columnas, me interesa generar datos en la tabla Y a partir de esas columnas y filas del csv guardados en bytea de la tabla X, se entendio?
________________________________
De: "Lazaro Rubén García Martinez" <lgarciam(at)vnz(dot)uci(dot)cu>
Para: "Marcos Alberto Flores Valda" <marcos(dot)flores(at)ende(dot)bo>, pgsql-es-ayuda(at)postgresql(dot)org
Enviados: Miércoles, 5 de Octubre 2011 18:20:18
Asunto: RE: [pgsql-es-ayuda] Llenar tablas a partir de un BYTEA

O sea que lo que quieres es una vez que tienes los datos almacenados en la tabla, copiar la columna de tipo bytea hacia otra tabla??.

Saludos.

De: pgsql-es-ayuda-owner(at)postgresql(dot)org [mailto:pgsql-es-ayuda-owner(at)postgresql(dot)org] En nombre de Marcos Alberto Flores Valda
Enviado el: miércoles, 05 de octubre de 2011 05:18
Para: pgsql-es-ayuda(at)postgresql(dot)org
Asunto: [pgsql-es-ayuda] Llenar tablas a partir de un BYTEA

Hola amigos, estoy subiendo a la BD un archivo con formato CSV, el campo de la tabla es bytea (hasta ahi sin problemas) a partir de ese campo quisiera llenar una tabla con los datos contenidos en el bytea, otra opcion seria crear un archivo fisico desde el bytea en el servidor donde se encuentra instalado postgres y posteriormente llenar la tabla con los datos del nuevo archivo creado desde postgres, nose si me entendieron es algo complicada la situacion, espero puedan ayudarme por favor.

Gracias, salu2.

--
[cid:image001(dot)gif(at)01CC84AE(dot)3D0ED560]

--
[cid:image001(dot)gif(at)01CC84AE(dot)3D0ED560]

Attachment Content-Type Size
Libro1.csv application/octet-stream 35 bytes

In response to

Browse pgsql-es-ayuda by date

  From Date Subject
Next Message Alejandro Carrillo 2011-10-06 21:56:55 Cargar archivo desde el cliente
Previous Message Edwin Quijada 2011-10-06 19:49:10 Re: [pgsql-es-ayuda] [OT][Oferta de Trabajo] Analista de DatawareHouse SIU