Lists: | pgsql-es-ayuda |
---|
From: | "---$${[*Salmuz*]}$$---" <salmuz(at)gmail(dot)com> |
---|---|
To: | pgsql-es-ayuda(at)postgresql(dot)org |
Subject: | function recursivo para obtener hijo y nietos.. |
Date: | 2008-09-08 18:36:46 |
Message-ID: | 6a6934250809081136k7b40e064ua9fb249f49c51840@mail.gmail.com |
Views: | Raw Message | Whole Thread | Download mbox | Resend email |
Lists: | pgsql-es-ayuda |
Hola. bueno ante todo gracias por hacerme pertenecer a esta lista, soy nuevo
en esto y estoy realizando un sistema, bueno me encontre con un problema
particular que es el siguiente, les muestro mi tabla
CREATE TABLE jerarquia_producto
(
cod_jerarquia_prod integerNOT NULL,
cod_padre_jer integer,
des_jerarquia character varying(20) NOT NULL,
)
Lo que necesito es obtener apartir de cod_jerarquia_prod sus hijos,
nieto,.....etc hasta la ultima generación, lo he realizado al contrario
para obtener sus padres y abuelos.
Es eficiente realizar funciones recursivas en postgres ?
Se podria resolver con postgres o lo tendria que hacer con programación?
Gracias ...por su tiempo.xD
--
Ate.
Carranza Alarcón, Yonatan Carlos
--{[Salmuz]}--
From: | Felipe de Jesús Molina Bravo <felipe(dot)molina(at)inegi(dot)gob(dot)mx> |
---|---|
To: | "---$${[*Salmuz*]}$$---" <salmuz(at)gmail(dot)com> |
Cc: | pgsql-es-ayuda(at)postgresql(dot)org |
Subject: | Re: function recursivo para obtener hijo y nietos.. |
Date: | 2008-09-08 19:05:57 |
Message-ID: | 1220900757.4354.8.camel@fjmb |
Views: | Raw Message | Whole Thread | Download mbox | Resend email |
Lists: | pgsql-es-ayuda |
Para la versión 8.4 se planea lo siguiente (no se si sea contrib) que
seguramente ayudara a problemas como el que presentas
http://wiki.postgresql.org/wiki/CTEReadme
Te comento que alguna vez hice una recursión y me fue algo mal ... y
decidi cambiar nested-set ... y me fue mucho mejor; ahora estoy probando
nested-interval que al parecer esta mejor ... estoy en pruebas!!
La sig. liga te puede ayudar
http://arxiv.org/html/cs.DB/0401014
saludos
El lun, 08-09-2008 a las 13:36 -0500, ---$${[*Salmuz*]}$$--- escribió:
> Hola. bueno ante todo gracias por hacerme pertenecer a esta lista, soy
> nuevo en esto y estoy realizando un sistema, bueno me encontre con un
> problema particular que es el siguiente, les muestro mi tabla
>
>
> CREATE TABLE jerarquia_producto
> (
> cod_jerarquia_prod integerNOT NULL,
> cod_padre_jer integer,
> des_jerarquia character varying(20) NOT NULL,
> )
>
> Lo que necesito es obtener apartir de cod_jerarquia_prod sus hijos,
> nieto,.....etc hasta la ultima generación, lo he realizado al
> contrario para obtener sus padres y abuelos.
> Es eficiente realizar funciones recursivas en postgres ?
> Se podria resolver con postgres o lo tendria que hacer con
> programación?
>
> Gracias ...por su tiempo.xD
>
> --
> Ate.
>
> Carranza Alarcón, Yonatan Carlos
>
> --{[Salmuz]}--
From: | Alvaro Herrera <alvherre(at)alvh(dot)no-ip(dot)org> |
---|---|
To: | "---$${[*Salmuz*]}$$---" <salmuz(at)gmail(dot)com> |
Cc: | pgsql-es-ayuda(at)postgresql(dot)org |
Subject: | Re: function recursivo para obtener hijo y nietos.. |
Date: | 2008-09-08 19:12:32 |
Message-ID: | 20080908191232.GG4411@alvh.no-ip.org |
Views: | Raw Message | Whole Thread | Download mbox | Resend email |
Lists: | pgsql-es-ayuda |
---$${[*Salmuz*]}$$--- escribió:
> Lo que necesito es obtener apartir de cod_jerarquia_prod sus hijos,
> nieto,.....etc hasta la ultima generación, lo he realizado al contrario
> para obtener sus padres y abuelos.
> Es eficiente realizar funciones recursivas en postgres ?
> Se podria resolver con postgres o lo tendria que hacer con programación?
Hay muchas formas de hacerlo. La mas simple es crear una funcion
PL/pgSQL que haga multiples consultas y devuelva todos los registros que
cada una de ellas retorne.
Si la jerarquia es complicada o larga y el rendimiento es importante,
podrias tratar con contrib/ltree.
--
Alvaro Herrera Valdivia, Chile Geotag: -39,815 -73,257
"We are who we choose to be", sang the goldfinch
when the sun is high (Sandman)
From: | "Jaime Casanova" <jcasanov(at)systemguards(dot)com(dot)ec> |
---|---|
To: | Felipe de Jesús Molina Bravo <felipe(dot)molina(at)inegi(dot)gob(dot)mx> |
Cc: | "---$${[*Salmuz*]}$$---" <salmuz(at)gmail(dot)com>, pgsql-es-ayuda(at)postgresql(dot)org |
Subject: | Re: function recursivo para obtener hijo y nietos.. |
Date: | 2008-09-08 21:34:57 |
Message-ID: | 3073cc9b0809081434j5dd360ffi2e17eb09a281191d@mail.gmail.com |
Views: | Raw Message | Whole Thread | Download mbox | Resend email |
Lists: | pgsql-es-ayuda |
On 9/8/08, Felipe de Jesús Molina Bravo <felipe(dot)molina(at)inegi(dot)gob(dot)mx> wrote:
> Para la versión 8.4 se planea lo siguiente (no se si sea contrib) que
> seguramente ayudara a problemas como el que presentas
>
> http://wiki.postgresql.org/wiki/CTEReadme
>
no como contrib sino como parte de postgres. pero esto estaba en
proyecto y programandose para el 8.3, asi que aun no cantemos
victoria...
--
Atentamente,
Jaime Casanova
Soporte y capacitación de PostgreSQL
Asesoría y desarrollo de sistemas
Guayaquil - Ecuador
Cel. (593) 87171157
From: | "Marcos Saldivar" <baron(dot)rojo(dot)cuerdas(dot)de(dot)acero(at)gmail(dot)com> |
---|---|
To: | "Alvaro Herrera" <alvherre(at)alvh(dot)no-ip(dot)org> |
Cc: | "---$${[*Salmuz*]}$$---" <salmuz(at)gmail(dot)com>, pgsql-es-ayuda(at)postgresql(dot)org |
Subject: | Re: function recursivo para obtener hijo y nietos.. |
Date: | 2008-09-08 23:52:11 |
Message-ID: | 1c4d91ab0809081652l6764a050ke46fdeeef0d05b38@mail.gmail.com |
Views: | Raw Message | Whole Thread | Download mbox | Resend email |
Lists: | pgsql-es-ayuda |
2008/9/8 Alvaro Herrera <alvherre(at)alvh(dot)no-ip(dot)org>:
[...]
>
> Hay muchas formas de hacerlo. La mas simple es crear una funcion
> PL/pgSQL que haga multiples consultas y devuelva todos los registros que
> cada una de ellas retorne.
>
> Si la jerarquia es complicada o larga y el rendimiento es importante,
> podrias tratar con contrib/ltree.
¿¿¿ Los campos ltree pueden contener textos en español ??? hago unas
pruebas y me entrega el siguiente error:
directorio=> insert into categorias(path) values('Computación');
ERROR: syntax error at position 9 near "X"
Busco en san google y hasta ahora no encuentro referencias a este problema...
Saludos.-
From: | Alvaro Herrera <alvherre(at)alvh(dot)no-ip(dot)org> |
---|---|
To: | Marcos Saldivar <baron(dot)rojo(dot)cuerdas(dot)de(dot)acero(at)gmail(dot)com> |
Cc: | "---$${[*Salmuz*]}$$---" <salmuz(at)gmail(dot)com>, pgsql-es-ayuda(at)postgresql(dot)org |
Subject: | Re: function recursivo para obtener hijo y nietos.. |
Date: | 2008-09-08 23:56:00 |
Message-ID: | 20080908235600.GL4411@alvh.no-ip.org |
Views: | Raw Message | Whole Thread | Download mbox | Resend email |
Lists: | pgsql-es-ayuda |
Marcos Saldivar escribió:
> 2008/9/8 Alvaro Herrera <alvherre(at)alvh(dot)no-ip(dot)org>:
> [...]
> >
> > Hay muchas formas de hacerlo. La mas simple es crear una funcion
> > PL/pgSQL que haga multiples consultas y devuelva todos los registros que
> > cada una de ellas retorne.
> >
> > Si la jerarquia es complicada o larga y el rendimiento es importante,
> > podrias tratar con contrib/ltree.
>
> ¿¿¿ Los campos ltree pueden contener textos en español ??? hago unas
> pruebas y me entrega el siguiente error:
>
> directorio=> insert into categorias(path) values('Computación');
> ERROR: syntax error at position 9 near "X"
Hmm, supongo que puedes poner un ID numérico?
--
Alvaro Herrera http://www.advogato.org/person/alvherre
Officer Krupke, what are we to do?
Gee, officer Krupke, Krup you! (West Side Story, "Gee, Officer Krupke")