Skip site navigation (1) Skip section navigation (2)

Re: [pgsql-es-ayuda] Identificador único en Jerarqu?==?ISO-8859-1?Q?ía

From: Jaime Casanova <jaime(at)2ndquadrant(dot)com>
To: will <wrbutros(at)rizoma(dot)cl>
Cc: Ayuda <pgsql-es-ayuda(at)postgresql(dot)org>
Subject: Re: [pgsql-es-ayuda] Identificador único en Jerarqu?==?ISO-8859-1?Q?ía
Date: 2012-03-21 21:58:24
Message-ID: CAJKUy5iRw14SJRqW3huetpLvQ8mvHgsE_YmosjCBVn4Nw-qAOg@mail.gmail.com (view raw or flat)
Thread:
Lists: pgsql-es-ayuda
2012/3/21 will <wrbutros(at)rizoma(dot)cl>:
>
> Pregunta:
> ---------------------------------
>
> Cómo puedo hacer que esta consulta
>
> WITH RECURSIVE compuesta (Madre, Hijo, id) AS
>            (
>             SELECT madre, hijo,
>                            ARRAY[0, --id_único] AS id_madre
>             FROM componente_mc WHERE madre = A
>              UNION ALL
>              SELECT componente_mc.madre, componente_mc.hijo,
>                            ARRAY[id_madre[2], --id_único],
>                 FROM componente_mc, compuesta
>             WHERE componente_mc.madre = compuesta.hijo
>            )
>            SELECT Hijo, Madre
>            FROM compuesta
>
> pueda generar un id único como identificador (donde dice --id_único), y que
> no se repita en ningún padre?,
>

esconde la consulta en una función. al inicio de la función crea una
secuencia temporal (CREATE TEMP SEQUENCE), donde dice --id_unico pon
nextval('secuencia_temporal'), al terminar la funcion borra la
secuencia.

la razon para crear una ssecuencia temporal es que la funcion pueda
ejecutarse concurrentemente en diversas sesiones y el esconderlo en
una funcion es para esconder la implementacion de que estas usando una
secuencia.

/me corre a esconderse del monton de piedras que la gente se alista a lanzarle

-- 
Jaime Casanova         www.2ndQuadrant.com
Professional PostgreSQL: Soporte 24x7 y capacitación

In response to

Responses

pgsql-es-ayuda by date

Next:From: Erick UriasDate: 2012-03-22 00:49:25
Subject: Re: Fwd: Caida de postgres 8.4
Previous:From: willDate: 2012-03-21 19:34:02
Subject: Identificador único en Jerarquía

Privacy Policy | About PostgreSQL
Copyright © 1996-2014 The PostgreSQL Global Development Group