From: | Cuenca <ycuenca(at)facinf(dot)uho(dot)edu(dot)cu> |
---|---|
To: | "Jaime Casanova" <systemguards(at)gmail(dot)com> |
Cc: | pgsql-es-ayuda(at)postgresql(dot)org |
Subject: | Re: Funcion con numero indefinido de devoluciones |
Date: | 2006-06-11 19:59:56 |
Message-ID: | op.tazy56kcth9msx@proyecto5 |
Views: | Raw Message | Whole Thread | Download mbox | Resend email |
Thread: | |
Lists: | pgsql-es-ayuda |
Gracias Jaime, mi caso es mucho mas complejo pero voy a poner un ejemplo
mas claro, digamos que tengo una tabla
estudiante(id_estudiante,nombre....), una tabla
asignatura(id_asignatura,asignatura) y una relacion muchos a muchos en
otra tabla para las notas: notas(id_estudiante,id_asignatura,nota).
necesito una funcion que me devuelva el listado de todos los estudiantes(o
de uno solo que le pase como parametro) y sus notas por asignatura, por
ejemplo:
-------------------
nombre PostgreSQL
Jaime 5
Alvaro 5
Cuenca 2
eso en el caso de que solo exista la asignatura PostgreSQL, pero si hay
mas quiero el listado de todas:
-------------------
nombre PostgreSQL MYSQL ORACLE ...
Jaime 5 5 2 ...
Alvaro 5 5 3 ...
Cuenca 2 3 4 ...
a eso me referia con que devolveria un numero variable de campos, en mi
caso son mas tablas y los campos no son del mismo tipo. De momento lo
resuelvo en php, ya tengo la funcion hecha, pero no se que tipo de dato
debe devolver, si la pongo de tipo record y la llamo de la forma "select
nota()", sin el "* from" me devuelve algo como {"cuenca",2,3,4} pero no me
parece elegante, alguna sugerencia?... gracias nuevamente y que tu equipo
quede segundo en el mundial despues de Inglaterra :)
On Sun, 11 Jun 2006 14:21:06 -0400, Jaime Casanova
<systemguards(at)gmail(dot)com> wrote:
> On 6/11/06, Cuenca <ycuenca(at)facinf(dot)uho(dot)edu(dot)cu> wrote:
>>
>>
>> Hola, la lista esta un poco calmada por el mundial, quisiera saber si es
>> posible que una funcion devuelva un numero variable de columnas es
>> decir que
>> pueda retornar n campos donde n no es un numero fijo... gracias por su
>> tiempo
>
> a que te refieres? a ejecutar una funcion que una vez regrese filas de
> un numero de columnas y en la siguiente ejecucion regrese filas con
> otro numero de columnas? imagino que sí regresando el pseudo-tipo
> record.
>
> o te refieres a una funcion que en la misma ejecucion regrese filas
> con un numero distinto de columnas cada vez? creo que puedes lograr
> algo parecido regresando cursores...
>
> en todo caso, IMHO, cualquiera de las dos cosas me parece un problema
> de diseño que te va a traer mas problemas de los que piensas que te va
> a solucionar... quiza si nos dices que quieres lograr te podamos
> ayudar a encontrar una mejor solucion a tu problema
>
--
Using Opera's revolutionary e-mail client: http://www.opera.com/mail/
From | Date | Subject | |
---|---|---|---|
Next Message | Alvaro Herrera | 2006-06-11 20:44:34 | Re: Funcion con numero indefinido de devoluciones |
Previous Message | Alvaro Herrera | 2006-06-11 19:25:29 | Re: Noticias sobre la versión 8.2 |