Em 17 de dezembro de 2010 11:33, Eder Sousa <[email protected]> escreveu:

> Bom dia!
> Preciso executar o comando COPY diretamente de uma função, só que é
> necessário salvar o arquivo com nomes diferentes automaticamente, é possível
> efetuar isso?
>
> Já tentei efetuar da seguinte maneira:
>
> vNomeArquivo = 'teste.TXT';
> copy (select texto from textos.arquivo where numeroarquivo = (select
> max(numeroarquivo) from textos.arquivo)) to 'd:/@/' || vNomeArquivo;
>
>
Para isso vc terá de utilizar o EXECUTE [1], para poder executar comandos de
forma dinâmica. Ex:

sCopy := E'copy (select texto from textos.arquivo where numeroarquivo =
(select max(numeroarquivo) from textos.arquivo)) to \'d:/@/\' ||
vNomeArquivo;

EXECUTE sCopy;


Obs: nao testei a instrução acima, mas deverá funcionar corretamente.


[1]
http://www.postgresql.org/docs/current/interactive/plpgsql-statements.html#PLPGSQL-STATEMENTS-EXECUTING-DYN

-- 
Fabrízio de Royes Mello
>> Blog sobre TI: http://fabriziomello.blogspot.com
>> Perfil Linkedin: http://br.linkedin.com/in/fabriziomello
_______________________________________________
pgbr-geral mailing list
[email protected]
https://listas.postgresql.org.br/cgi-bin/mailman/listinfo/pgbr-geral

Responder a