From: | Oswaldo Hernández <listas(at)soft-com(dot)es> |
---|---|
To: | Arcel Labrada Batista <alabradab(at)uci(dot)cu> |
Cc: | pgsql-es-ayuda(at)postgresql(dot)org, Alvaro Herrera <alvherre(at)alvh(dot)no-ip(dot)org> |
Subject: | Re: select from lista de valores |
Date: | 2010-02-03 15:44:51 |
Message-ID: | 4B6999F3.3040203@soft-com.es |
Views: | Raw Message | Whole Thread | Download mbox | Resend email |
Thread: | |
Lists: | pgsql-es-ayuda |
Arcel Labrada Batista escribió:
> me parece que con
>
> select 1,2,3,4,5;
>
> se resuelve tu problema
No, porque eso devuelve una fila con 5 columnas, mientras que lo que
necesito es que devuelva cada uno de los valores en una fila distinta.
Finalmente lo que he hecho es crear la funcion 'unest()' para que
funcione en 8.3. Aqui va por si alguien tiene el mismo problema.
CREATE OR REPLACE FUNCTION public.unnest(IN valores anyarray, OUT val
anyelement)
RETURNS SETOF anyelement AS
$BODY$
/*******************************************
emulacion de funcion unnest(array[]) de 8.4
para utilizar en versiones inferiores
*******************************************/
declare
position integer;
begin
for position in array_lower(valores,1)..array_upper(valores,1)
loop
val = valores[position];
return next ;
end loop;
return;
end$BODY$
LANGUAGE 'plpgsql' VOLATILE;
ALTER FUNCTION public.unnest(anyarray) OWNER TO postgres;
Saludos,
--
*****************************************
Oswaldo Hernández
oswaldo (@) soft-com (.) es
*****************************************
PD:
Antes de imprimir este mensaje, asegúrese de que es necesario.
El medio ambiente está en nuestra mano.
From | Date | Subject | |
---|---|---|---|
Next Message | Giorgio | 2010-02-03 16:01:01 | Re: Ayuda con Select |
Previous Message | Arcel Labrada Batista | 2010-02-03 15:27:16 | Re: select from lista de valores |