Diego, funcionou cara, valeu mesmo. Infelizmente a documentação do
Postgre deixa a desejar ao explicar esse ponto. O que tinha de errado
no meu código antigo? Vlw.

2014-02-12 14:50 GMT-02:00 Diego Lenhardt <[email protected]>:
>
>
> ________________________________
> Date: Wed, 12 Feb 2014 14:30:56 -0200
> From: [email protected]
> To: [email protected]
> Subject: Re: [pgbr-geral] Problema com anonymous code block
>
>
> Em 12 de fevereiro de 2014 13:42, Ari Lima <[email protected]> escreveu:
>
> Pessoal,
>
> Estou usando um anonymous code block
> (http://www.postgresql.org/docs/9.1/static/sql-do.html) para testar
> algumas funções que preciso criar. Porém está dando erro de sintaxe.
> Ele está tratando minhas variáveis como se fossem colunas. O código é
> o seguinte:
>
> DO $$
> DECLARE
>     dia_semana INT := CAST(EXTRACT(DOW FROM CURRENT_DATE)as INT);
>     dia INT := 7 - dia_semana;
> BEGIN
>     COPY(SELECT (CURRENT_DATE + dia))
>     TO '/tmp/dump.sql';
> END $$
>
> ********** Error **********
>
> ERRO: coluna "dia" não existe
> SQL state: 42703
> Context: PL/pgSQL function "inline_code_block" line 6 at comando SQL
>
>
> Se eu removo a variavel e coloco qualquer numero, ele executa normalmente.
> Estou usando o postgres 9.1 rodando o PgAdmin III para executar
> queries. Alguma sugestão do que fazer?!
>
>
> Este exemplo não funcionará sem um "from", a não ser que os valores sejam
> declarados diretamente.
> Não teria um exemplo prático do que pretende utilizar? Assim ficaria mais
> fácil e mais prático ajudar.
>
> []'s
>
> Ae cara, vê se assim serve:
>
> DO $$
> BEGIN
>     COPY( with t as ( select CURRENT_DATE + (7 - CAST(EXTRACT(DOW FROM
> CURRENT_DATE)as INT))) select * from t )
>     TO '/tmp/dump.sql';
> END $$;
>
>  cat /tmp/dump.sql
> 2014-02-16
>
> falows
>
>
> _______________________________________________ pgbr-geral mailing list
> [email protected]
> https://listas.postgresql.org.br/cgi-bin/mailman/listinfo/pgbr-geral
>
> _______________________________________________
> pgbr-geral mailing list
> [email protected]
> https://listas.postgresql.org.br/cgi-bin/mailman/listinfo/pgbr-geral
>
_______________________________________________
pgbr-geral mailing list
[email protected]
https://listas.postgresql.org.br/cgi-bin/mailman/listinfo/pgbr-geral

Responder a