L'errore viene segnalato sulla riga 11 del corpo del pacchetto, che è
RETURN NUMBER;
Il numero è un tipo di dati, non un nome di variabile. Non è chiaro cosa vuoi effettivamente tornare qui; mentre lo stai interrogando e catturandolo, forse LOCATION
; ma poiché si tratta di una stringa, anche il tipo restituito della funzione dovrebbe essere una stringa (ad esempio VARCHAR2
anziché NUMBER
). Forse:
create or replace PACKAGE BODY e_con_pack
AS
FUNCTION
GET_LOCATION_namel (p_con_id in NUMBER, p_con_name out VARCHAR2)
RETURN VARCHAR2 IS
LOCATION VARCHAR2(30);
BEGIN
SELECT LOCATION INTO LOCATION FROM LDS_CONSULTANT WHERE CONSULTANT_ID = p_con_id;
SELECT CST_NAME INTO p_con_name FROM LDS_CONSULTANT WHERE CONSULTANT_ID = p_con_id;
RETURN LOCATION;
END GET_LOCATION_namel;
O ancora meglio, usa il tipo di dati della colonna come sei già altrove:
create or replace PACKAGE BODY e_con_pack
AS
FUNCTION
GET_LOCATION_namel (p_con_id in NUMBER, p_con_name out VARCHAR2)
RETURN LDS_CONSULTANT.LOCATION%type IS
LOCATION LDS_CONSULTANT.LOCATION%type;
BEGIN
...
In ogni caso, dovrai modificare le specifiche del pacchetto in modo che corrispondano, ovviamente.