Oracle - Retornando tablas con PL/SQL

 
Vista:

Retornando tablas con PL/SQL

Publicado por Quantum (1 intervención) el 12/07/2006 12:54:43
Tengo un par de dudas sobre PL/SQL.

Necesito devolver varios valores de un PROCEDURE o una FUNCTION, pero no se como hacerlo.

Para devolver un solo valor de una función no tengo problemas, por ejemplo:

FUNCTION valor (in_valor VARCHAR2) RETURN VARCHAR2 IS
BEGIN
RETURN ('Tu valor es :' || in_valor);
END;

y para ejecutar la función i recuperar el valor hago un
SELECT valor('valor a introducir') FROM DUAL

y me devuelve en el select el: "Tu valor es :valor a introducir"

Hasta ahí todo perfecto, però, cuando quiero devolver varios valores o una tabla entera ya no se como hacerlo. La funcion return solo te permite devolver un único valor.

He visto que se pueden definir variables de salida OUT en una funcion o un procedimeinto, tantas como quieras, però si hago esto no sé como recuperarlas como hacia con la función con el select from dual.

También he visto que existe el comando dbms_output.put_line pero no sé si esto me sirve a mi ni como recuperar valores de ahí tampoco. :(

alguien me puede orientar un poco?
Valora esta pregunta
Me gusta: Está pregunta es útil y esta claraNo me gusta: Está pregunta no esta clara o no es útil
0
Responder

RE:Retornando tablas con PL/SQL

Publicado por miguel (66 intervenciones) el 14/07/2006 13:36:19
Prueba con los arreglos en PL/SQL, crea una variable type que te sirva como arreglo, me metiendo los valores en el arreglo y haz que la funcion d te devuelva el array.

Pasa el arreglo poor parametros de tipo out a la funcion.

Yo lo haria asi ya que el return devuelve un solo valor.
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
0
Comentar