ola amigo agora entendi , segue abaixo sua solucao: CREATE OR REPLACE FUNCTION public.dominio ( p_dominio text, p_sequencia text ) RETURNS TABLE ( codigo INTEGER, descricao TEXT ) AS $body$ DECLARE rQtde RECORD; vetDescricao TEXT[]; vetCodigo INTEGER[]; i INTEGER; BEGIN CREATE TEMP TABLE dominio( codigo INTEGER, descricao TEXT );
i:=1; SELECT INTO vetDescricao string_to_array(p_dominio,','); SELECT INTO vetCodigo string_to_array(p_sequencia,','); FOR rQtde IN SELECT unnest(string_to_array(p_dominio,',')) as dominio LOOP INSERT INTO dominio(codigo,descricao) VALUES(vetCodigo[i],vetDescricao[I]); i:=i+1; END LOOP; RETURN query SELECT * FROM dominio; DROP TABLE dominio; END; $body$ LANGUAGE 'plpgsql' VOLATILE CALLED ON NULL INPUT SECURITY INVOKER COST 100 ROWS 1000; PARA USAR: SELECT * from dominio('UM,DOIS,TRES','1,2,3') [image: Foto] *LuMoraes* *O mais completo para seu comércio.* 2016-08-30 17:17 GMT-03:00 Carlos Antônio Pereira < carlosanto...@utivida.com.br>: > > Ola boa tarde amigo > > Veja uma funcao exemplo: > > CREATE OR REPLACE FUNCTION teste(pSeuParaMetro) > RETURNS TABLE(id_produto integer, codfor character varying, codbar > character varying, descricao character varying, qtd_minima integer, estoque > numeric, reposicao numeric, prateleira character varying) AS > $BODY$ > BEGIN > RETURN QUERY SELECT id_produto , codfor , codbar , descricao, > qtd_minima , estoque , reposicao , prateleira FROM tabela WHERE > campo=pSeuParaMetro; > END; > $BODY$ > LANGUAGE plpgsql VOLATILE > COST 100 > ROWS 1000; > > veja se isto te ajuda. > > > > Obrigado pela dica. > Mas a idéia é construir um record e retorná-lo a partir do parâmetro > passado para a função, sem que tenha uma tabela relacionada ao retorno. > > Algo como: > > select dominio(‘Sim;Não’); > > Retorno: > codigo descricao > 1 Sim > 2 Não > > select dominio(‘CPF;CNPJ’); > codigo descricao > 1 CPF > 2 CNPJ > > > > > > > > > > > > > _______________________________________________ > pgbr-geral mailing list > pgbr-geral@listas.postgresql.org.br > https://listas.postgresql.org.br/cgi-bin/mailman/listinfo/pgbr-geral >
_______________________________________________ pgbr-geral mailing list pgbr-geral@listas.postgresql.org.br https://listas.postgresql.org.br/cgi-bin/mailman/listinfo/pgbr-geral