2009/5/26 Julio Cesar Rodriguez Dominguez <jura...@gmail.com>: > > CREATE TYPE mi_tipo as(fecha date, concepto text); > > CREATE OR REPLACE FUNCTION mi_funcion( ) > RETURNS setof mi_tipo AS > $BODY$ > declare > rec record; > begin > select into rec null,'concepto'::text; > return next rec; > > select into rec now()::date,'concepto'::text; > return next rec; > > return ; > end; > $BODY$ LANGUAGE 'plpgsql'; > > select * from mi_funcion(); > ERROR: wrong record type supplied in RETURN NEXT >
yo diria que es un bug... en todo caso la funcion funcionara si casteas el null a date: select into rec null::date, 'concepto'::text; aunque tu funcion se veria mejor asi (al menos desde 8.3 en adelante): CREATE OR REPLACE FUNCTION mi_funcion_out(out fecha date, out concepto text) RETURNS setof record AS $BODY$ begin return query select null::date,'concepto'::text; return query select now()::date,'concepto'::text; return ; end; $BODY$ LANGUAGE 'plpgsql'; -- Atentamente, Jaime Casanova Soporte y capacitación de PostgreSQL Asesoría y desarrollo de sistemas Guayaquil - Ecuador Cel. +59387171157 -- TIP 9: visita nuestro canal de IRC #postgresql-es en irc.freenode.net