Funcion que devuelva congunto de datos o recordset
Publicado por
martin (1 intervención) el 20/10/2011 17:33:33
CREATE OR REPLACE FUNCTION f_ejm_tra()
RETURNS SETOF "record" as
$BODY$
DECLARE
r RECORD;
fila integer;
parimpar varchar;
BEGIN
fila:=0;
FOR r IN
SELECT fila,parimpar,cod as tra_codtra,dni as tra_dnitra,paterno as tra_pattra,materno as tra_mattra,nombres as tra_nomtra from trabajador order by paterno,materno,nombres limit 30
LOOP
fila:=fila+1;
r.fila:=fila;
if(mod(r.tra_codtra::integer,2)=0) then
r.parimpar:='par';
else
r.parimpar:='impar';
end if;
RETURN NEXT r;
END LOOP;
RETURN;
END;
$BODY$
LANGUAGE 'plpgsql' VOLATILE;
SELECT*FROM f_ejm_tra() AS ("nose" int,"parimpar" varchar ,"tra_codtra" varchar,"tra_dnitra" varchar,"tra_pattra" varchar,"tra_mattra" varchar,"tra_nomtra" varchar);