Consegui.
Obrigado a todos que me ajudaram e desculpe a incomodação
Boa noite,
Gostaria de contribuir com mais uma opção para solução do problema, se não
houver a necessidade de um tratamento mais específico, resolvo alguns casos
de recursividade com a seguinte função :
CREATE OR REPLACE FUNCTION recursividade(cod_pai integer) RETURNS SETOF
tabela AS
$BODY$DECLARE
pai RECORD;
filho RECORD;
BEGIN
FOR pai IN (SELECT * FROM tabela WHERE
cod_filho = $1) LOOP
FOR filho IN (SELECT * FROM
recursividade(pai.cod_pai)) LOOP
RETURN NEXT
filho;
END LOOP;
RETURN NEXT pai;
END LOOP;
END $BODY$
LANGUAGE 'plpgsql' VOLATILE
COST 100
ROWS 1000;
ALTER FUNCTION recursividade(integer) OWNER TO owner;
Para chamar a função : SELECT * FROM recursividade(0);
Atc.
Adriano V. Araujo
_______________________________________________
pgbr-geral mailing list
[email protected]
https://listas.postgresql.org.br/cgi-bin/mailman/listinfo/pgbr-geral