Hola:
Si vas a devolver todas las columnas de una sola tabla, deberías hacer lo siguiente:
Código SQL
[-]
-- Cuerpo de la función
declare
Fila nombre_tabla;
begin
for Fila in
select * from nombre_tabla loop
return next Fila;
end loop
end;
Si vas a devolver columnas de varias tablas (joins) deberías primeramente crear un type (tipo) con los mismos tipos de datos de las columnas originales y hacer algo como lo siguiente:
Código SQL
[-]
-- Cuerpo de la función
declare
Fila tipo_creado;
begin
for Fila in
select columna1, columna2, columna3 from tabla_1 t1 join tabla2 t2 on
t1.id_columna = t2.id_columna loop
return next Fila;
end loop;
end;
Espero te sirva.