2013/11/12 Eduardo Rodrigues <[email protected]>
> Pessoal, estou utilizando CTE para copiar os dados de um banco de dados
> remoto. Ao executar a instrução abaixo acusa erro o seguinte erro no
> PgAdmin:
>
> ERROR: syntax error at or near "RETURNING"
> LINE 6: RETURNING *
> ^
>
> ********** Error **********
>
> ERROR: syntax error at or near "RETURNING"
> SQL state: 42601
> Character: 238
>
> *Instrucao SQL que retorna o Erro*
>
>
> WITH moved AS (
> select dblink_exec('host=host user=user_db password=123 dbname=db',
> 'DELETE FROM remote_table ')
> RETURNING *
>
Acho que você queria o returning dentro do SQL remoto, e, como espera
retornar linhas usar a função dblink ao invés de dblink_exec:
SELECT * FROM dblink('host=host user=user_db password=123 dbname=db',
'DELETE FROM remote_table RETURNING *') AS t(col1 tipo1, col2 tipo2, ...);
> )
> INSERT INTO table_local
> SELECT * FROM moved;
>
> Nao posso utilizar o CTE para migrar os dados atraves do DBLINK?
>
>
PS: Cuidado com esse tipo de operação, da forma como está fazendo não está
garantido a atomicidade.
Atenciosamente,
--
Matheus de Oliveira
Analista de Banco de Dados
Dextra Sistemas - MPS.Br nível F!
www.dextra.com.br/postgres
_______________________________________________
pgbr-geral mailing list
[email protected]
https://listas.postgresql.org.br/cgi-bin/mailman/listinfo/pgbr-geral