From: | Mario Jiménez Carrasco <mario(dot)carrasco(at)gmail(dot)com> |
---|---|
To: | pgsql-es-ayuda(at)postgresql(dot)org |
Subject: | Función que reciba un set o el resultado de una consulta. |
Date: | 2012-02-28 21:07:12 |
Message-ID: | CADr7mTAhFOqch-Eavj5MQd8V8SmPwCOXfhB9hp63mEOtmut+Ew@mail.gmail.com |
Views: | Raw Message | Whole Thread | Download mbox | Resend email |
Thread: | |
Lists: | pgsql-es-ayuda |
Hola amigos.
Buen día...
me encuentro en una situación en la que pido su apoyo... ya he indagado en
la web y no he encontrado información al respecto...
He creado una función en la cual necesito recibir los registros de una
tabla (incluso a través de una tabla temporal)... en la definición lo tengo
de la siguiente forma...
CREATE OR REPLACE FUNCTION promedio(IN tablavalores public.valores,
simulador boolean)
RETURNS double precision[] AS
$BODY$
DECLARE
promedio DOUBLE PRECISION;
contador INTEGER;
registro RECORD;
BEGIN
promedio = 0.00;
FOR registro IN
SELECT valor FROM tablavalores;
LOOP
contador = contador + 1;
promedio = promedio + registro.valor;
END LOOP;
promedio = promedio / contador;
return promedio;
END;
$BODY$
LANGUAGE plpgsql VOLATILE
COST 100;
ALTER FUNCTION promedio(public.valores, boolean)
OWNER TO postgres;
Al intentar invocarlo hago lo siguiente...
create temp table v (like public.valores);
select promedio(v, true);
y este ultimo me manda un error en el que dice que "v" (la tabla temporal)
no es una columna...
recurro a su experiencia para saber si mi error es al invocar o al declarar
la función...
Agradezco de antemano sus comentarios.
Atte. Mario Jiménez Carrasco.
From | Date | Subject | |
---|---|---|---|
Next Message | Gilberto Castillo Martínez | 2012-02-28 21:15:39 | Re: Función que reciba un set o el resultado de una consulta. |
Previous Message | Edwin Quijada | 2012-02-28 19:43:52 | RE: [pgsql-es-ayuda] Re: [pgsql-es-ayuda] [pgsql-es-ayuda] sobre imágenes |