CUERPO DE PAQUETE CON ERROR
— ESPECIFICACIÓN DEL PAQUETE O ENCABEZADO
CREATE OR REPLACE PACKAGE pkg_Answer2 IS
FUNCTION grade_std(marks NUMBER) RETURN VARCHAR2;
END pkg_Answer2;
/
— IMPLEMENTACIÓN DEL PAQUETE
CREATE OR REPLACE PACKAGE BODY pkg_Answer2 IS
–IMPLEMENTACIÓN DE LA FUNCIÓN
FUNCTION grade_std(marks NUMBER) RETURN VARCHAR2 IS
BEGIN
IF marks>90 THEN
RETURN ‘A’;
ELSIF marks<=90 AND marks>80 THEN
RETURN ‘B’;
ELSIF marks<=80 AND marks>70 THEN
RETURN ‘C’;
ELSIF marks<=70 AND marks>60 THEN
RETURN ‘D’;
ELSIF marks<=60 THEN
RETURN ‘F’;
ELSE
RETURN ‘I’;
END IF;
END grade_std;
END pkg_Answer2;
El cuerpo del paquete muestra un error:
Errores: PACKAGE BODY PKG_ANSWER2
Linea/Col: 14/9 PLS-00103: Encontrado el símbolo “RETURN” esperando uno de los siguientes:
& – + / at mod remainder rem then
|| multiset
¿QUÉ SIGNIFICA QUE ENCONTRÉ EL SÍMBOLO DE RETORNO Y NO PUDE CREAR EL CUERPO DEL PAQUETE?
davy.ai
El mensaje de error “Se encontró el símbolo “RETURN” cuando se esperaba uno de los siguientes” significa que hay un error de sintaxis en el código. En este caso, parece que falta una condición después del último statement “ELSEIF” y también falta la palabra clave “THEN” después del último statement “IF”. Esto hace que el compilador espere otra condición o elemento en lugar de la palabra clave “RETURN”. Una vez que se resuelvan estos problemas, el cuerpo del paquete debería compilarse correctamente.