From: | Roberto Andrade Fonseca <randradefonseca(at)gmail(dot)com> |
---|---|
To: | Juan Carlo Vallejos <jcvp1977(at)yahoo(dot)com> |
Cc: | pgsql-es-ayuda(at)postgresql(dot)org |
Subject: | Re: como crear una funcion que devuelva dos valores o un registro |
Date: | 2005-01-07 21:20:11 |
Message-ID: | 484bf03105010713206b3bfc20@mail.gmail.com |
Views: | Raw Message | Whole Thread | Download mbox | Resend email |
Thread: | |
Lists: | pgsql-es-ayuda |
Hola:
On Fri, 7 Jan 2005 14:26:53 -0600 (CST), Juan Carlo Vallejos
<jcvp1977(at)yahoo(dot)com> wrote:
> Hola,
>
> espero me puedan ayudar, quiero crear una funcion que
> me devuela dos valores deacuerdo a una consulta
> (SELECT) con los parameros que yo le de..
Esto te debe servir de ejemplo:
----------------------------------------------------
-- Función para obtener, de los componentes de un kit:
-- Se debe llamar así:
-- select * from get_precios_articulos(2) as (id_articulo varchar,
descripcion varchar , precio_lista numeric(10,2), precio_kit
numeric(10,2), precio_total numeric(10,2));
-- El parámetro de la función es el identificador del kit (id_ensamble).
----------------------------------------------------
CREATE OR REPLACE FUNCTION get_precios_articulos(integer) RETURNS setof
record AS '
DECLARE
my_id_ensamble ALIAS FOR $1;
rec record;
my_precio_kit numeric(10,2);
my_precio_total numeric(10,2);
BEGIN
...
FOR rec IN
SELECT
a.id_articulo,
a.descripcion,
a.precio_lista,
my_precio_kit,
my_precio_total
FROM
ensamblados e,
ensamblados_has_articulos eha,
tipo_articulo t,
articulos a
WHERE
eha.id_articulo = a.id_articulo and
a.id_tipo_articulo = t.id_tipo_articulo and
e.id_ensamble = eha.id_ensamble and
e.id_ensamble= my_id_ensamble
LOOP
RETURN NEXT rec;
END LOOP;
RETURN;
END;
' LANGUAGE 'plpgsql' VOLATILE;
-------------------------------------
Saludos,
--
Roberto Andrade Fonseca
Inteligentes.com, S.A. de C.V.
Tel. 5207-1672/1673
From | Date | Subject | |
---|---|---|---|
Next Message | Ariel Romero | 2005-01-07 21:39:19 | Sobre Store procedures |
Previous Message | Luis Guevara | 2005-01-07 20:40:10 | Consulta php postgres |