Re: COPY TO a filename dinamico

From: marcosrios(at)planet(dot)com(dot)pe
To: Anthony <asotolongo(at)uci(dot)cu>
Cc: pgsql-es-ayuda(at)postgresql(dot)org
Subject: Re: COPY TO a filename dinamico
Date: 2013-05-03 13:55:28
Message-ID: 20130503085528.15572d5aw734kwis@webmail.planet.com.pe
Views: Raw Message | Whole Thread | Download mbox | Resend email
Thread:
Lists: pgsql-es-ayuda

Estimado Anthony,

Gracias por tu sugerencia, he logrado generar filename dinamicos y
agregarlos al COPY TO.

Adicionalmente para no tener problema con la ' (comilla simple) en la
cadena del SELECT... deberán colocar '' (comilla simple 2 veces) por
cada comilla simple, ejemplo:

v_cadena:='COPY (SELECT
to_char(a.ano,''FM9999'')||to_char(a.mes,''FM09'')||''00'' AS
cperiodo,...'

El archivo v_filename='LE2033106165520130100140100001111.TXT' le
agregue el delimitador y quedo asi: v_filename :=
btrim(v_filename)||''' (delimiter '||'''|'''||')';

Finalmente el EXECUTE v_cadena;

Saludos,
---
Ing. Marcos T. Ríos Rodríguez
marcosrios(at)planet(dot)com(dot)pe
Arequipa - Perú

Anthony <asotolongo(at)uci(dot)cu> escribió:

> conforma tu cadena de COPY ..... con las parametros necesarios y
> tratalo como un text luego debes ejecutar esa sentencia con
> EXECUTE 'tu comando con copy';
>
> ejemplo:
> comando:-= 'COPY (select * from tutabla) TO '||camino ||'''WITH CSV';
> execute comando;
>
>
> saludos
>
> El 02/05/2013 6:30, marcosrios(at)planet(dot)com(dot)pe escribió:
>> Estimada Lista,
>>
>> Por favor, necesito ejecutar COPY (SELECT ...) TO filename
>> (DELIMITER '|'); pero que me permita construir el filename
>> dinamicamente.
>>
>> Lo debo hacer tanto para windows como para linux.
>>
>> He probado con:
>> DECLARE
>> v_filename CHARACTER VARYING(60);
>> BEGIN
>> v_filename := 'E:\\LES\\LE'||btrim(v_ruc)||to_char(EXTRACT(YEAR
>> FROM v_fecha),'FM9999')||to_char(EXTRACT(MONTH FROM v_fecha),'FM09')
>>
>> COPY (Select ...) TO E'''||v_filename||''' (delimiter '|');
>>
>> y me arroja ERROR: no se permiten rutas relativas para COPY hacia
>> un archivo
>> CONTEXT: sentencia SQL: «copy
>>
>> Desde ya les agradezco cualquier sugerencia que me ayude a resolver
>> este problema.
>>
>>
>> Saludos,
>> ---
>> Ing. Marcos T. Ríos Rodríguez
>> marcosrios(at)planet(dot)com(dot)pe
>> Arequipa - Perú
>>
>>
>> -
>> Enviado a la lista de correo pgsql-es-ayuda (pgsql-es-ayuda(at)postgresql(dot)org)
>> Para cambiar tu suscripción:
>> http://www.postgresql.org/mailpref/pgsql-es-ayuda
>> http://www.uci.cu
>
>
> http://www.uci.cu

-
Enviado a la lista de correo pgsql-es-ayuda (pgsql-es-ayuda(at)postgresql(dot)org)
Para cambiar tu suscripción:
http://www.postgresql.org/mailpref/pgsql-es-ayuda

In response to

Browse pgsql-es-ayuda by date

  From Date Subject
Next Message Martín Marqués 2013-05-03 14:40:28 Re: Posible Bug
Previous Message Leonardo Castillo 2013-05-03 13:52:41 Problema con consulta compleja