Hola buenas a todos tengo el siguiente problema, tengo la siguiente función de oracle:
Código Oracle:
Ver originalCREATE OR REPLACE FUNCTION cantidadSuministrada(
p_pnom PIEZA.PNOMBRE%TYPE,
p_snom SUMINISTRADOR.SNOMBRE%TYPE
)
return SP.CANT%TYPE
AS
v_cant SP.CANT%TYPE;
BEGIN
SELECT SUM(cant) INTO v_cant
FROM sp, suministrador, pieza
WHERE suministrador.snombre=p_snom
AND pieza.pnombre=p_pnom
AND suministrador.sno=sp.sno
AND pieza.pno=sp.pno;
return v_cant;
END cantidadSuministrada;
Se crea correctamente, el problema es cuando la ejecuto. Lo hago con el siguiente código para que pregunte los parámetros de la función al usuario:
Código ORACLE:
Ver originalDECLARE
v_pnom PIEZA.PNOMBRE%TYPE;
v_snom SUMINISTRADOR.SNOMBRE%TYPE;
BEGIN
cantidadSuministrada('&v_pnom','&v_snom');
END;
Pero cuando pongo los valores al ejecutarla me devuelve el siguiente error:
Código ERROR:
Ver originalantiguo 5: cantidadSuministrada('&v_pnom','&v_snom');
nuevo 5: cantidadSuministrada('Tuerca','Smith');
cantidadSuministrada('Tuerca','Smith');
*
ERROR en línea 5:
ORA-06550: línea 5, columna 3:
PLS-00221: 'CANTIDADSUMINISTRADA' no es un procedimiento o no se ha definido
ORA-06550: línea 5, columna 3:
PL/SQL: Statement ignored
¿Alguien puede hecharme un cable? Seguramente sea alguna chorrada, pero como estoy aprendiendo y me e bloqueado ahí...
Un saludo y gracias!!