El 25/11/2011 22:16, Marcos Héctor Trotti escribió:
Hola a todos, espero que mi consulta no sea una pavada, pero la verdad estoy un poco trabado y recurrí a este medio para ver si alguien me puede dar una mano. El problema que tengo es el siguiente, necesito guardar datos de una tabla en un archivo de texto, dicho archivo deberia tener un nombre USU_COD_USUARIO, generando uno por cada usuario registrado en el sistema. Mi primer acercamiento fue utilizar copy y crear una funcion que para cada usuario me genere el archivo, pero el problema es que cuando realizo algo de ejemplo, como esto:

CREATE FUNCTION G30_SAVELOG()
RETURNS BOOLEAN AS $$
DECLARE
        USERCOD G30_TCOD_USUARIO;
        FILENAME VARCHAR(150);
BEGIN
  SELECT COD_USUARIO INTO USERCOD
         FROM USUARIO
  WHERE COD_USUARIO='00001';
  FILENAME='USU_'+USERCOD;
  Copy (Select * From log_operations) To FILENAME With CSV;
  RETURN TRUE;
END;
$$ LANGUAGE plpgsql;

Recibo el error en FILENAME cuando invoco a copy (en el ejemplo puse un solo usuario, de hecho el select estaría de mas, pero la intención seria utilizar un cursor para iterar sobre la tabla de usuarios)

Desde ya cualquier ayuda que me puedan brindar es muy bienvenida, estoy utilizando postgresql para un proyecto que tengo que entregar para la Universidad.

Saludos

--
*Marcos Héctor Trotti*

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



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