2009/5/26 Julio Cesar Rodriguez Dominguez <[email protected]>:
>
> 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