Re: Duda con los store procedure

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.

In response to

Browse pgsql-es-ayuda by date

  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