Data: 25 de abril de 2014 16:28 Assunto: [pgbr-geral] Função para retornar múltiplas linhas envolvendo dblink Para: Comunidade PostgreSQL Brasileira <pgbr-geral@listas.postgresql.org.br>
>Caros >Boa tarde. Estou fazendo uma função que devolverá múltiplas linhas, essa função consultará dados em outro banco através de dblink e será consumida por uma aplicação e executada através do comando a seguir. Exemplo: select * from fn_x(timestamp, varchar) A função a princípio retornará apenas uma coluna, mas futuramente podem surgir novas colunas ou até mesmo outras funções de comportamento semelhante. Ao tratar e retornar os dados obtidos da consulta realizada com dblink estou tendo dificuldades para acertar o tipo de retorno correto para função. Já fiz algumas tentativas com return table e como parâmetros do tipo out, mas não obtive sucesso. Algum colega poderia dar um exemplo prático disso. Boa tarde André, nos casos de retorno de multiplas linhas normalmente utilizo RETURNS TABLE como exemplo abaixo: CREATE FUNCTION fn_vendas_periodo ( p_filiali integer, ... ) RETURNS TABLE ( tid text, tfilial varchar, ... ) AS $body$ BEGIN -- Cálculo a sequerem realizados .... ---utilizar o return necessário para sua função RETURN NEXT expression; RETURN QUERY query; RETURN QUERY EXECUTE command-string [ USING expression [, ... ] ]; END; $body$ LANGUAGE 'plpgsql' .... Espero ter ajudado. Janser R Cunha
_______________________________________________ pgbr-geral mailing list pgbr-geral@listas.postgresql.org.br https://listas.postgresql.org.br/cgi-bin/mailman/listinfo/pgbr-geral