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.