Re: problema funcion de un ranking

Lists: pgsql-es-ayuda
From: "jose arellano" <josearellanov(at)gmail(dot)com>
To: pgsql-es-ayuda(at)postgresql(dot)org
Subject: Re: problema funcion de un ranking
Date: 2006-05-01 01:22:56
Message-ID: 35b7f3e20604301822w7406312bu280866ce778b760c@mail.gmail.com
Views: Raw Message | Whole Thread | Download mbox | Resend email
Lists: pgsql-es-ayuda

hola a todos, y espero no ser tan noob, ya que hace muy poco k ocupo
postgresql.

toy tratando de hacer una funcion que me muestre el ranking de un curso.

create or replace function ranking()returns setof as'
DECLARE
ranking setof;
cod_curso varchar(20);

begin
cod_curso:='101';
ranking:=SELECT nombre_curso as Nombre del Curso,rut_alu as Rut
Alumno,nombre_alu as Nombre Alumno,promedio as Promedio General FROM
curso,alumnos WHERE cod_curso=alumnos.codigo_curso ORDER BY promedio;
end;
'
LANGUAGE plpgsql;

mi problema es que no se cual es el type de la funcion para que me devuelva
la query.

espero k me puedan ayudar


From: Espartano <espartano(dot)mail(at)gmail(dot)com>
To: "jose arellano" <josearellanov(at)gmail(dot)com>
Cc: pgsql-es-ayuda(at)postgresql(dot)org
Subject: Re: problema funcion de un ranking
Date: 2006-05-01 16:27:15
Message-ID: d353bd50605010927k7f3ac827l220dcb10314ba5c1@mail.gmail.com
Views: Raw Message | Whole Thread | Download mbox | Resend email
Lists: pgsql-es-ayuda

On 4/30/06, jose arellano <josearellanov(at)gmail(dot)com> wrote:
>
>
> hola a todos, y espero no ser tan noob, ya que hace muy poco k ocupo
> postgresql.
>
> toy tratando de hacer una funcion que me muestre el ranking de un curso.
>
>
>
> create or replace function ranking()returns setof as'
> DECLARE
> ranking setof;
> cod_curso varchar(20);
>
> begin
> cod_curso:='101';
> ranking:=SELECT nombre_curso as Nombre del Curso,rut_alu as Rut
> Alumno,nombre_alu as Nombre Alumno,promedio as Promedio General FROM
> curso,alumnos WHERE cod_curso=alumnos.codigo_curso ORDER BY promedio;
> end;
> '
> LANGUAGE plpgsql;
>
>
>
> mi problema es que no se cual es el type de la funcion para que me devuelva
> la query.
>
> espero k me puedan ayudar

tienes que regresar un tipo record pero si tu consulta regresa mas de
una tupla tienes uqe meter tu consulta en un ciclo que meta cada tupla
en el record, no olvides hacer return next cada vez que iteres en el
ciclo y return al final para devolver el resultado.

si quieres mas info: http://www.postgresql.org.mx/files/manual_plpgsql.pdf