| From: | miguel <mvillagomez(at)sayab(dot)com(dot)mx> |
|---|---|
| To: | "Leonardo A(dot) Marchese" <leonardo(dot)marchese(at)gmail(dot)com> |
| Cc: | Foro PostgreSQL <pgsql-es-ayuda(at)postgresql(dot)org> |
| Subject: | Re: Retorno de funciones |
| Date: | 2008-11-18 18:41:29 |
| Message-ID: | 1227033689.3048.19.camel@sayab-w03.sayab |
| Views: | Whole Thread | Raw Message | Download mbox | Resend email |
| Thread: | |
| Lists: | pgsql-es-ayuda |
El mar, 18-11-2008 a las 15:57 -0200, Leonardo A. Marchese escribió:
> Hola,
>
> Como se puede hacer para que una función de postgres pueda retornar
> mas de un dato y que sean de distintos tipos.
>
> Gracias.
Usar los tipo RECORD
Un ejemplo:
CREATE OR REPLACE FUNCTION example(char, varchar, integer, numeric)
RETURNS SETOF RECORD AS $$
DECLARE
lista RECORD;
BEGIN
FOR lista IN (SELECT ($1)AS valor1, ($2)AS valor2, ($3)AS valor3,
($4)AS valor4) LOOP
RETURN NEXT lista;
END LOOP;
RETURN;
END;
$$ LANGUAGE PLPGSQL;
SELECT * FROM
example('a'::char,'ab'::varchar,'1'::integer,'1.5'::numeric) AS (valor1
char, valor2 varchar, valor3 integer, valor4 numeric);
>
> --
> ---------------------------------------------------------
> Leonardo A. Marchese
> Lic. en Informática
>
| From | Date | Subject | |
|---|---|---|---|
| Next Message | Emanuel CALVO FRANCO | 2008-11-18 18:41:43 | usuarios, grupos y roles |
| Previous Message | Juan Ramirez | 2008-11-18 18:40:25 | RE: Instalacion de POSTGRESQL |