Eu testei este SELECT antes, porem quando eu concateno no comando "Copy From" 
ele não funciona.

Já teste exatamente como está no negrito (select '/tmp/list_atev001_call_123_' 
|| to_char(current_date, 'YYYYMMDD') || '.txt';).

Não sei oque estou fazendo de errado. Não achei nada parecido na Net.


De:[EMAIL PROTECTED]

Para:"Grupo de Usuários do PostgreSQL no Brasil" [email protected]

Cópia:

Data:Thu, 22 Feb 2007 08:18:52 -0300

Assunto:Re: [PostgreSQL-Brasil] Duvidas sobre importação de arquivo.

>     Bom dia....
>
>     Se executar esses sql's verás a diferença....
>     select '/tmp/list_atev001_call_123_20070202.txt'
    select '/tmp/list_atev001_call_123_' || to_date(current_date, 'YYYYMMDD') 
|| '.txt';
    select '/tmp/list_atev001_call_123_' || to_char(current_date, 'YYYYMMDD') 
|| '.txt';
>
>
>     Esse que está em negrito, retorna uma string mais parecida com aquela que 
> você colocou como a que funciona...
>
>
>     Teste e veja, mas acho que você precisa usar to_char nesse caso.
>
>     Um Abraço
>     Sidnei
----- Original Message -----
From: demetriusbizin
To: brasil-usuarios
Sent: Thursday, February 22, 2007 6:21 AM
Subject: [PostgreSQL-Brasil] Duvidas sobre importação de arquivo.
>

>
>
>
> Senhores, bom dia.
>
> Gostaria de tirar umas duvidas sobre importação de arquivo no postgreSQL.
>
> Preciso concaternar o nome de um arquivo (TXT) com a uma data (variavel), 
> pois a data não pode ser fixa, e não estou conseguindo.
>
> Segue abaixo a Function que eu estou criando, utilizando Variavel (em 
> Negrito), e o erro que está dando :
>
> CREATE OR REPLACE FUNCTION import_list_tuvision_call()
 RETURNS boolean AS
$BODY$
>
> declare
 spath varchar(255);
>
> begin
 spath := '/tmp/list_atev001_call_123' || to_date(current_date, 'yyyymmdd') || 
'.txt';
 COPY list_tuvision_call FROM spath
 with DELIMITER AS '|' NULL AS '';
 RETURN 0;
end;
>
> $BODY$
>
> LANGUAGE 'plpgsql' VOLATILE;
>
> Segue o Erro:
>
> ERROR:  syntax error at or near "$1" at character 31
QUERY:  COPY list_tuvision_call FROM  $1  with DELIMITER AS '|' NULL AS ''
CONTEXT:  SQL statement in PL/PgSQL function "import_list_tuvision_call" near 
line 8
>
>
> Segue abaixo a Function, utilizando PIPE ( || ), e o erro que está dando :
>
> CREATE OR REPLACE FUNCTION import_list_tuvision_call()
 RETURNS boolean AS
$BODY$
>
> begin
 COPY list_tuvision_call FROM '/tmp/list_atev001_call_123' || 
to_date(current_date, 'yyyymmdd') || '.txt'
 with DELIMITER AS '|' NULL AS '';
 RETURN 0;
end;
>
> $BODY$
>
> LANGUAGE 'plpgsql' VOLATILE;

> Segue o Erro :
>
> ERROR:  syntax error at or near "||" at character 65
QUERY:  COPY list_tuvision_call FROM '/tmp/list_atev001_call_123' || 
to_date(current_date, 'yyyymmdd') || '.txt'
CONTEXT:  SQL statement in PL/PgSQL function "import_list_tuvision_call" near 
line 7
>
> Quando eu coloco o nome do arquivo sem PIPE (serve para Concatenar) ele cria 
> e executa normalmente. Segue abaixo um exemplo :
>
> CREATE OR REPLACE FUNCTION import_list_tuvision_call()
    RETURNS boolean AS
$BODY$

> begin
    COPY list_tuvision_call FROM '/tmp/list_atev001_call_123_20070202.txt'
    with DELIMITER AS '|' NULL AS '';
    RETURN 0;
> end;

> $BODY$
LANGUAGE 'plpgsql' VOLATILE;

>
> Já tentei colocar to_char antes do to_date (to_char (to_date(current_date, 
> 'yyyymmdd'))) e tambem não deu certo.
>
> Procurei na internet e nada.
>
> Gostaria de saber como eu faço para arrumar esse problema ?
>
> Obrigado,
> Jimmy



_______________________________________________
Grupo de Usuários do PostgreSQL no Brasil
Antes de perguntar consulte o manual
http://pgdocptbr.sourceforge.net/

Para editar suas opções ou sair da lista acesse a página da lista em:
http://pgfoundry.org/mailman/listinfo/brasil-usuarios
_______________________________________________
Grupo de Usuários do PostgreSQL no Brasil
Antes de perguntar consulte o manual
http://pgdocptbr.sourceforge.net/

Para editar suas opções ou sair da lista acesse a página da lista em:
http://pgfoundry.org/mailman/listinfo/brasil-usuarios

Responder a