Código Oracle:
Ver original
CREATE 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 original
DECLARE 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 original
antiguo 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!!