Hola, que tal? soy novatillo, a ver si me asesorais.
he creados la siguientes tablas por un lado la tabla "SOCIOS" (CODIGOSOCIO,NOMBRE,APELLIDOS,EDAD,CUOTA,TIPO_SOCIO), TIPO_SOCIO es clave ajena de COD_TIPO de la tabla "TIPOS SOCIOS"(COD_TIPO,TIPO).
He creado la siguiente funcion en Oracle 10g
CREATE OR REPLACE FUNCTION get_cuota
(t_id IN SOCIOS.tipo_socio%TYPE, p_increment IN NUMBER := 1)
RETURN NUMBER
IS
v_cuota socios.cuota%TYPE := 0;
BEGIN
SELECT cuota * p_increment
INTO v_cuota
FROM socios
WHERE socios.tipo_socio = t_id;
RETURN v_cuota;
END get_cuota;
/
La compilación me da correcta, sin embargo al comprobar dicha función ejecuto la siguiente sentencia
SELECT codigosocio,nombre,tipo_socio,cuota,get_cuota(1.1, 200)" incremento cuota"
FROM SOCIOS
y me dice el siguiente error:
ORA-01422: la recuperación exacta devuelve un número mayor de filas que el solicitado.
Agradeceria cualquier ayuda, gracias