El 26/11/2011 9:39, Marcos Héctor Trotti escribió:
Muchas gracias por tu pronta respuesta!
Mi problema es que el nombre de archivo.txt deberia cambiar dependiendo de los datos del usuario al cual le este exportando su actividad.El dato del usuario yo lo obtendría en las iterando sobre un cursor. Lo que me indicaste de poner el path completo funciona perfectamente, lo que no se es como concatenar por ejemplo: Supongamos que tengo dos usuarios 00001 y 00002, yo necesitaría que los paths fueran algo asi /tmp/USU_00001.txt y /tmp/USU_0002.txt . Es posible en COPY hacer esto de concatenar dos strings para formar la ruta? Mi idea es algo como
copy (select * from tb) TO BASEPATH + FILENAME with CSV;
Desde ya muchas gracias por su tiempo.
Saludos


    Algo así como (con la ruta absoluta creo que es lo falta)
    copy (select * from tb) TO '/tmp/archivo.txt' with CSV;
    saludos

    <http://www.antiterroristas.cu/>




--
*Marcos Héctor Trotti*

haaa, ya creo que se lo que sucede debes ejecutar el copy con el comando EXECUTE, pues es copy que quieres ejecutar es dinámico , es decir que debes armar un cadena y ejecutarla con EXECUTE aquí te pongo un ejemplo que te podría ayudar


create or replace function salvar() returns boolean as $$ declare
camino text;
begin
camino:='archivo.txt'; -- pudieras poner aqui lo del usuario
execute 'COPY (select * from tb) TO ''/tmp/'||camino ||'''WITH CSV';
return true;
end;
$$ language plpgsql;









Fin a la injusticia, LIBERTAD AHORA A NUESTROS CINCO COMPATRIOTAS QUE SE 
ENCUENTRAN INJUSTAMENTE EN PRISIONES DE LOS EEUU!
http://www.antiterroristas.cu
http://justiciaparaloscinco.wordpress.com

Responder a