Janser Boa tarde. Quando utilizo return table com a sentença a abaixo recebo uma mensagem de erro.
Sentença: return query select t1.nome_tabela from dblink_exec(connection_string, sentenca_sql) as t1(nome_tabela character varying(31)); ERRO: uma lista de definição de colunas somente é permitida para funções que retornam "record" Se executo a sentença conforme de outra maneira conforme é sugerido na mensagem erro, recebo outro erro diferente. Sentença: return query select * from dblink_exec(connection_string, sentenca_sql); ERRO: structure of query does not match function result type DETAIL: Tipo text retornado não corresponde ao tipo character varying esperado na coluna 1. O return table da minha função é "RETURNS table (nome_tabela character varying)". O erro parece ser meio óbvio, mas não é.... Aguardo considerações e desde já agradeço pela atenção. > 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 > [email protected] > https://listas.postgresql.org.br/cgi-bin/mailman/listinfo/pgbr-geral > > -- Atenciosamente, André Geraldo dos Santos Certified Delphi® Developer XE2 Analista Desenvolvedor e Consultor Belo Horizonte / Minas Gerais E-mail:[email protected]
_______________________________________________ pgbr-geral mailing list [email protected] https://listas.postgresql.org.br/cgi-bin/mailman/listinfo/pgbr-geral
