[Pgsql-ayuda] Consulta jerarquica

From: "Andres Garcia Jimenez" <agarcia(at)ids(dot)com(dot)mx>
To: <pgsql-ayuda(at)tlali(dot)iztacala(dot)unam(dot)mx>
Subject: [Pgsql-ayuda] Consulta jerarquica
Date: 2003-12-02 16:39:19
Message-ID: 9543CF39C879974FA068DD5688A728650E791F@smprod01.ids.com.mx
Views: Raw Message | Whole Thread | Download mbox | Resend email
Thread:
Lists: pgsql-es-ayuda

Saludos:
Quisiera ver si alguien ya ha realizado consultas jerarquicas en Postgres (Algo parecido al Connect by de Oracle), y como es que lo han hecho, agredecere cualquier ayuda ya que soy nuevo en postgress

Por mi patrte estoy intentando resolverlo con una funcion de PLpgSQL

Estoy utilizando una TEMPORARY TABLE llamada arbol y la lleno con algo como lo siguiente:

/* Insertando la Raiz del Arbol */
insert into arbol select mod_id, mod_descripcion, orden,mynivel,mod_id_fk
from seg_modulo
where mod_id_fk is null;
GET DIAGNOSTICS num_reg = ROW_COUNT;

WHILE num_reg>0 LOOP
/* Paso al siguiente nivel del arbol */
mynivel:=mynivel+1;
orden:=orden+1;
/* Inserto el siguiente nivel del arbol donde el padre son lo reg del nivel anterior */
insert into arbol
select mod_id, mod_descripcion, orden,mynivel,mod_id_fk from seg_modulo
where mod_id_fk in (select id from arbol where nivel=mynivel-1);
/* Valido si hubo registros que pudieran tener mas hijos */
GET DIAGNOSTICS num_reg = ROW_COUNT;
END LOOP;

RETURN NEXT SELECT id,descripcion,orden,nivel,padre FROM arbol;
RETURN;

Una vez hecho esto trato de obtener los valores con una consulta como la siguiente:

SELECT * FROM FN_ARBOL();

El prpoblema es que no me trae ningun registro pese a que la tbla temporal si contiene los registros, ¿no se si estoy utilizando correctamente el RETURN NEXT?

bueno como dije antes agradecesco cualquier ayuda

Responses

Browse pgsql-es-ayuda by date

  From Date Subject
Next Message Alvaro Herrera 2003-12-02 17:51:15 Re: [Pgsql-ayuda] FW: Mailman results for Pgsql-ayuda
Previous Message Andres Lascar Giraldo 2003-12-02 16:38:39 [Pgsql-ayuda] FW: Mailman results for Pgsql-ayuda