Lists: | pgsql-es-ayuda |
---|
From: | "AUGUSTO ESTEBAN" <augustin_hm(at)yahoo(dot)es> |
---|---|
To: | "Postgresql" <pgsql-es-ayuda(at)postgresql(dot)org> |
Subject: | a column definition list is required for functions returning "record" |
Date: | 2005-11-30 17:37:27 |
Message-ID: | 20051130174406.60AF29DCB7B@postgresql.org |
Views: | Raw Message | Whole Thread | Download mbox | Resend email |
Lists: | pgsql-es-ayuda |
> 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
______________________________________________
Renovamos el Correo Yahoo!
Nuevos servicios, más seguridad
http://correo.yahoo.es
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 |
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: | Jaime Casanova <systemguards(at)gmail(dot)com> |
---|---|
To: | augustin_hm(at)yahoo(dot)es |
Cc: | Postgresql <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:19 |
Message-ID: | c2d9e70e0511300953q78c566a3md4d043e9e0628bb9@mail.gmail.com |
Views: | Raw Message | Whole Thread | Download mbox | Resend email |
Lists: | pgsql-es-ayuda |
On 11/30/05, AUGUSTO ESTEBAN <augustin_hm(at)yahoo(dot)es> wrote:
>
> > 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();
Para retornar un tipo record tienes que indicar la estructura cuando
llamas el select
select * from f_a_prrueba3() as (campo1 int, campo2 varchar(30), etc, etc);
--
Atentamente,
Jaime Casanova
(DBA: DataBase Aniquilator ;)
From: | "Ing(dot) Jhon Carrillo // Caracas, Venezuela" <jhon(dot)carrillo(dot)foros(at)gmail(dot)com> |
---|---|
To: | augustin_hm(at)yahoo(dot)es |
Cc: | Postgresql <pgsql-es-ayuda(at)postgresql(dot)org> |
Subject: | Re: a column definition list is required for functions returning "record" |
Date: | 2005-11-30 17:56:32 |
Message-ID: | 84d933650511300956j49ca0563y@mail.gmail.com |
Views: | Raw Message | Whole Thread | Download mbox | Resend email |
Lists: | pgsql-es-ayuda |
El 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.
hola, colocale en la definición en ves de RECORD --> NOTA, a ver que
pasa, es decir
"...RETURNS SETOF NOTA AS
$BODY$
declare
resultado NOTA;..."
suerte
Jhon Carrillo
DBA / Software Engineer
Caracas-Venezuela
> > ----------------------------------------------------------------------
> > -------- 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
>
>
>
> ______________________________________________
> Renovamos el Correo Yahoo!
> Nuevos servicios, más seguridad
> http://correo.yahoo.es
>
> ---------------------------(fin del mensaje)---------------------------
> TIP 8: explain analyze es tu amigo
>
--