From: | Raul Caso <feve18(at)gmail(dot)com> |
---|---|
To: | augustin_hm(at)yahoo(dot)es, pgsql-es-ayuda(at)postgresql(dot)org |
Subject: | Re: a column definition list is required for functions returning "record" |
Date: | 2005-11-30 17:53:16 |
Message-ID: | 4dda42060511300953pf3e22d9p@mail.gmail.com |
Views: | Raw Message | Whole Thread | Download mbox | Resend email |
Thread: | |
Lists: | pgsql-es-ayuda |
El día 30/11/05, AUGUSTO ESTEBAN <augustin_hm(at)yahoo(dot)es> escribió:
>
>
> > Saludos, esto asumo que debe ser pichanga para ud.
> > bien soy casi nuevo en esto de plpgsql y tengo el siguiente codigo y
> quiero que me devuelva esa simple consulta(que porsupuesto lo puedo hacer
> en
> una vist ano ma, pero no se trrata de eso) y me devuelve el siguiente
> error,
> no me imagino porque, porfavor si alguien me pudiese ayuduar, se lo
> agradeceria.
> > ----------------------------------------------------------------------
> > -------- ERROR : a column definition list is required for functions
> > returning "record"
> > ----------------------------------------------------------------------
> > -------- CREATE OR REPLACE FUNCTION f_a_prrueba3()
> > RETURNS SETOF record AS
> > $BODY$
> > declare
> > resultado record;
> > begin
> > for resultado in
> > select * from nota
> > loop
> > return next resultado;
> > end loop;
> > return;
> > end;$BODY$
> > LANGUAGE 'plpgsql' VOLATILE;
> > ----------------------------------------------------------------------
> > --------
> > select * from f_a_prrueba3();
> > ----------------------------------------------------------------------
> > --------
> >
> > atte
> >
> > AUGUSTO ESTEBAN HUMIRE MARTINEZ
>
>
> Hola esto respondieron a una duda mia:
a ver,lo que puedes hacer es definir un type con la estructura que queres
que te devuelva tu funcion
create type regsalida (deptid int, deptname text); --algo asi es la
sintaxis
y declara la función como
create or replace function GetRows(text) returns setof regsalida as
..
..
..
end
y despues la llamas select * from GetRows('Department');
Pero al ver tu funcion veo que devuelves un select * from osea toda la tabla
y si es asi te recomiendo que cambias el tipo devuelto de tu funcion a el
tipo de la tabla que haces el select RETURNS SETOF record AS cambialo a
setof nota(o como se llame tu tabla)
y en
declare resultado record; cambialo por
declare resultado nota%rowtype;
y debe funcionar
--
Raulinho
97033825-4327239
From | Date | Subject | |
---|---|---|---|
Next Message | Jaime Casanova | 2005-11-30 17:53:19 | Re: a column definition list is required for functions returning "record" |
Previous Message | AUGUSTO ESTEBAN | 2005-11-30 17:37:27 | a column definition list is required for functions returning "record" |