[Pgsql-ayuda] Ayuda en un setof record

Ernesto Quiñones A. ernesto@eqsoft.net
Tue, 28 Oct 2003 13:14:14 -0500 (PET)


Hola amigos
estoy al borde de la esquizofrenia
estoy usando postgresql 7.3.1

cree esta funcion segun todos los manuales y ayudas que encontre por la web

create or replace function sp_lee_demandas(text) returns setof record as '
declare
    r record;
begin
    for r in EXECUTE ''select usu_codigo,dep_codigo from mae_usuarios'' loop
        return next r;
    end loop;
    return;
end;
' language 'plpgsql';


(la tabla y los campos son de prueba, antes de lanzarme al query final
queria probar que la forma en que lo estoy haciendo funcione bien)

la cosa es que cuando lo ejecuto en vez de retornarme las filas me retorna
esto:

select * from sp_lee_demandas('dd') as (usu_codigo text, dep_codigo text);
WARNING:  Error occurred while executing PL/pgSQL function sp_lee_demandas
WARNING:  line 5 at return next
ERROR:  Wrong record type supplied in RETURN NEXT


ya probe tambien con esto:

 select * from sp_lee_demandas('dd');
ERROR:  A column definition list is required for functions returning RECORD

y con esto:

 select * from sp_lee_demandas('dd') as (cmapo1 text, cmapo2 text);   
WARNING:  Error occurred while executing PL/pgSQL function
sp_lee_demandas
WARNING:  line 5 at return next
ERROR:  Wrong record type supplied in RETURN NEXT


a ver si alguien me da una manito y me dice donde es que estoy comentiendo
el error garrafal

gracias