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