
Problema función en Oracle
Publicado por Jhon (11 intervenciones) el 24/11/2015 18:06:44
Saludos.
Nuevamente novato Oracle en apuros (Le estoy cogiendo un odio
).
Tengo que resolver un ejercicio en en el que me piden el nombre del cliente (nom_cli en la tabla cliente), la fecha del pedido (fec_ped en la tabla pedido) y el valor del pedido (val_ped en la tabla pedido), del cliente que haya hecho el pedido de más valor.
En mi opinión esto debería resolverse con un procedure, pero el ejercicio me pide que lo haga con una función.
Mi duda viene porque las funciones sólo devuelven un valor y ahí hay tres datos para consultar.
He pensado concatenar todo y retornar un solo valor pero en ese caso no sé que tipo de variable sería la que retorna. Supongo que VARCHAR2.
Intenté esto pero no me funciona:
Gracias de antemano.
Nuevamente novato Oracle en apuros (Le estoy cogiendo un odio

Tengo que resolver un ejercicio en en el que me piden el nombre del cliente (nom_cli en la tabla cliente), la fecha del pedido (fec_ped en la tabla pedido) y el valor del pedido (val_ped en la tabla pedido), del cliente que haya hecho el pedido de más valor.
En mi opinión esto debería resolverse con un procedure, pero el ejercicio me pide que lo haga con una función.
Mi duda viene porque las funciones sólo devuelven un valor y ahí hay tres datos para consultar.
He pensado concatenar todo y retornar un solo valor pero en ese caso no sé que tipo de variable sería la que retorna. Supongo que VARCHAR2.
Intenté esto pero no me funciona:
1
2
3
4
5
6
7
8
9
10
11
12
CREATE OR REPLACE FUNCTION fn_valPed
RETURN VARCHAR2
IS var_datos VARCHAR2;
BEGIN
SELECT 'Nombre: '|| nom_cli ||' Fecha: '|| fec_ped || ' Valor: '|| val_ped
INTO var_datos
FROM cliente
JOIN pedido
ON id_cli = id_cli_ped
ORDER BY val_ped asc limit1;
RETURN var_datos;
END;
Gracias de antemano.
Valora esta pregunta


0