Valor devuelto por una función (¿tabla PL?)

?el
13 de Enero del 2004
Hola a tod@s.

Tengo una función que debe devolver varios registros de una misma tabla. ¿Puedo devolver una tabla PL como salida de la función? Si no ¿qué es más apropiado para ello?

Muchas gracias

ángel

Hector
13 de Enero del 2004
Creo que lo más correcto sería devolver un cursor.
En PL/SQL tenés lo que se llaman REF_CURSOR, tipeados o genéricos. Tipeados es cuando definis un tipo (por ejemplo %ROWTYPE que es formato de la tabla) o sin ningún tipo, por lo que el proceso llamador sabrá lo que recibe (a los efectos de usar sus campos).
Incluso llamando el procedimiento o función desde Java (JDBC mediante) podés obtener el cursor.
Espero te sirva de ayuda.

Otra solución más....digamos bruta es devolver un VARRAY que es una tabla de largo predefinido en ORACLE (una especie de VECTOR), pero la verdad no me gusta porque es de largo fijo.