From: | "Julio Cesar Culebro Gonzalez" <jculebro(at)cgsystemsis(dot)com> |
---|---|
To: | "Eliana Gutierrez" <egp1962(at)yahoo(dot)com(dot)au>, <pgsql-es-ayuda(at)postgresql(dot)org> |
Subject: | Re: Duda con los store procedure |
Date: | 2006-11-06 18:10:41 |
Message-ID: | 023201c701ce$e5580470$0300a8c0@COSITIA |
Views: | Raw Message | Whole Thread | Download mbox | Resend email |
Thread: | |
Lists: | pgsql-es-ayuda |
Claro que es posible, aqui te mando un ejemplo de una funcion que regresa un registro con varias columnas, espero que te sirva:
------------------------------------------------------------------------------------------------------------------------------------------------------------
CREATE OR REPLACE FUNCTION gasolina(int4, int4)
RETURNS SETOF productos AS
$BODY$DECLARE cuenta INTEGER;
valor public.productos%ROWTYPE;
BEGIN
SELECT INTO cuenta Count(*)
FROM cambiarprecios
WHERE posicion = $2;
If cuenta <> 0 Then
SELECT productos.prodclave, "TempProductos"."Precio", productos.prodclavepemex, productos.proddescripcion
INTO valor
From Productos, "TempProductos"
WHERE "TempProductos"."IdProducto" = productos.prodclave
AND productos.prodclave = $1;
Else
SELECT productos.prodclave, productos.prodprecio, productos.prodclavepemex, productos.proddescripcion
INTO valor
From Productos
WHERE productos.prodclave = $1;
END IF;
RETURN NEXT valor;
RETURN;
END; $BODY$
LANGUAGE 'plpgsql' VOLATILE;
------------------------------------------------------------------------------------------------------------------------------------------------------------
para qu esto funcione tienes que declarar una variable del tipo:
public.productos%ROWTYPE
donde
public.productos
es una tabla que que tine la siguiente estructura:
------------------------------------------------------------------------------------------------------------------------------------------------------------
CREATE TABLE productos
(
prodclave int4 NOT NULL DEFAULT 0,
prodprecio float8 DEFAULT 0,
prodclavepemex varchar(5),
proddescripcion varchar(50),
CONSTRAINT productos_pkey PRIMARY KEY (prodclave)
)
WITH OIDS;
------------------------------------------------------------------------------------------------------------------------------------------------------------
Saludos.
From | Date | Subject | |
---|---|---|---|
Next Message | Julio Cesar Culebro Gonzalez | 2006-11-06 18:23:03 | Re: Poblema con Crystal Reports al llamar a una funcion |
Previous Message | Julio Cesar Culebro Gonzalez | 2006-11-06 17:52:54 | Adjuntar Base de datos |