Creo que para lo quieres lo mejor seria usar expresiones regulares para 
plantear todas las condiciones que puedan surgir. 
Una pregunta que te hago ¿No puedes hacer una mera traduccion y convertir los 
archivos.txt a .sql y luego correrlos en el servidor? 
recuerda que para esto a la hora de programar las funciones lo mejor sería usar 
CREATE OR REPLACE FUNCTION nombre_funcion 
por el hecho si ocurre algun error. 
Teniendo el .sql puedes correrlo en el server usando dentro de psql: 
\i archivo.sql 

Saludos 

----- Mensaje original ----- 
De: "Virginia" <mavi...@gmail.com> 
Para: pgsql-es-ayuda@postgresql.org 
Enviados: Miércoles, 11 de Marzo de 2009 20:28:09 GMT +01:00 Amsterdam / Berlín 
/ Berna / Roma / Estocolmo / Viena 
Asunto: [pgsql-es-ayuda] leer de un txt a postgres 

Buenas tardes a todos. Necesito que alguien me oriente en lo siguiente: 
Tengo una tabla en postgresql que debe ser alimentada por datos almacenados en 
dos archivos txt (uno.txt y dos.txt). 
Debo leer cada linea de cada archivo para determinar, según las longitudes, qué 
información va a qué campo. 
Adicionalmente, hay varios campos que tienen al final un caracter que indica si 
este caracter debe ser sustituido por un signo negativo y un número, por 
ejemplo 01245551Q ---> la Q vale -8, osea que tomando en cuenta las condiciones 
mencionadas y otras que no viene al caso explicar, el valor queda -124555.18. 
Cabe destacar, que algunos campos de esta tabla se llenan con datos 
provenientes del archivo uno.txt y otros campos de la misma tabla se llenan con 
los datos que provienen del archivo dos.txt. 
Otro detalle es que esto debe ser una tarea programada en postgresql 
(PgAgent... sigo yo con el temita...) o en lo que sea, esto lo resuelvo 
después. 
Ahora bien, mi pregunta es la siguiente: 
¿Cómo hago para migrar esta información de ambos archivos a la tabla en 
postgresql? teniendo en cuenta que hay que leer y "traducir" ciertos valores. 
¿Para esto me sirve el LOAD DATA? si alguien sabe cómo se hace con LOAD DATA, 
por favor, indíqueme un ejemplo porque en postgresql no encuentro. 

Muchas gracias, espero que alguien pueda darme un ejemplo claro de esto.... 
-- 
----------------------------------------------------------- 
------------------------ Virginia ------------------------ 
----------------------------------------------------------- 


-- 




¨¨Tip 9 : Vacumm es tu amigo.......¨¨¨ 
Marcos Ortíz Valmaseda 
Linux User # 418229 
PostgreSQL 8.3.5 && Debian GNU/Linux Experimental User 
Facebook Profile: 
http://www.facebook.com/profile.php?id=1186800712 
My blog: 
http://marcosluis21.wordpress.com 


Responder a