si entiendo lo que quieres es poner tus funciones en el esquema public y que
busquen o se ejecuten sobre las tablas de un esquema que estas separando por
anios.

create or replace function prueba() returns int
as
$$
begin
return (select count(id) from tablaA);
end;
$$
language plpgsql

pero que la tabla "tablaA" sea leido del esquema sobre en que estas
trabajando en ese momento.

entonse ejecutas la funcion de esta manera.

set search_path= 'public','2008';  -- va a buscar en el esquema public(
donde esta la funcion) y sobre  2008 (donde esta la tabla)
select * from prueba();

cuando quieras buscar sobre el esquema 2009 cambias el set search_path por
'public','2009' y de esa menera con todos los esquemas.



-- 
Solo alcanzaras el conocimiento conociendo la ignorancia.

Responder a