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
marcosr...@planet.com.pe
Arequipa - Perú

Anthony <asotolo...@uci.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, marcosr...@planet.com.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
marcosr...@planet.com.pe
Arequipa - Perú


-
Enviado a la lista de correo pgsql-es-ayuda (pgsql-es-ayuda@postgresql.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@postgresql.org)
Para cambiar tu suscripción:
http://www.postgresql.org/mailpref/pgsql-es-ayuda

Responder a