Pessoal, boa tarde.

PostgreSQL 9.3.4 on x86_64-unknown-linux-gnu, compiled by gcc (Ubuntu/Linaro 4.6.3-1ubuntu5) 4.6.3, 64-bit.

Preciso fazer uma consulta no PostgreSQL que irá retornar um número de colunas dinamicamente, tanto a quantidade como os nomes das colunas são variáveis.

Pesquisei e não encontrei nenhuma forma de criar uma consulta que tenha um retorno "SETOF record" dinâmico.

Para tal (não sei se é a melhor solução), criei uma função que monta a consulta e grava o resultado em uma tabela temporária. Dessa forma no PostgreSQL eu executo a função que cria a tabela temporária (select ou do) e depois faço um select na tabela temporária. Está da seguinte maneira:

select portal.sp_produtos_vencer_lojas(2015,5);

select *
from tb_tmp_produtos_vencer_lojas;

Até ai tudo bem. O problema é que vou precisar ler essas informações de uma base SQL Server via Linked Server (ODBC).

Estou fazendo da seguinte forma:

SELECT *
FROM OPENQUERY(PostgreSQL05,'
   select portal.sp_produtos_vencer_lojas(2015,5);

   select *
   from tb_tmp_produtos_vencer_lojas;
')

O problema é que o que está retornando para o SQL Server é o resultado da primeira consulta e não o select na tabela temporária.

Como posso resolver essa situação?

Obrigado!

_______________________________________________
pgbr-geral mailing list
pgbr-geral@listas.postgresql.org.br
https://listas.postgresql.org.br/cgi-bin/mailman/listinfo/pgbr-geral

Responder a