CREATE OR REPLACE PACKAGE Emp_Updation
AS
FUNCTION Emp_update
(Emp_no NUMBER, New_Sal NUMBER)
RETURN VARCHAR2;
FUNCTION Emp_update
(Firstname VARCHAR2, New_Sal NUMBER)
RETURN VARCHAR2;
END Emp_Updation;

CREATE OR REPLACE PACKAGE BODY Emp_Updation
AS
FUNCTION Emp_update
(Emp_no NUMBER, New_Sal NUMBER)
RETURN VARCHAR2 IS
Result VARCHAR2(30);
BEGIN
UPDATE EMPLOYEES SET SALARY = New_Sal
WHERE EMPLOYEE_ID = Emp_no;
IF SQL%ROWCOUNT >= 1 THEN
Result := '1 row updated';
ELSE
Result := 'Employee does not exist';
END IF;
RETURN Result;
END Emp_update;
FUNCTION Emp_update 
(Firstname VARCHAR2, New_Sal NUMBER)
RETURN VARCHAR2 IS
Result VARCHAR2(30);
BEGIN
UPDATE EMPLOYEES SET SALARY = New_Sal WHERE FIRST_NAME = Firstname;
IF SQL%ROWCOUNT >= 1 THEN
Result := '1 row updated';
ELSE
Result := 'Employee does not exist';
END IF;
RETURN Result;
END Emp_update;
END Emp_Updation;

DECLARE
Rlt VARCHAR2(30);
BEGIN
Rlt := Emp_Updation.Emp_update(105, 7000);
DBMS_OUTPUT.PUT_LINE(Rlt);
END;

SELECT EMPLOYEE_ID, FIRST_NAME, LAST_NAME, SALARY FROM EMPLOYEES
WHERE EMPLOYEE_ID = 105;

DECLARE
Rlt VARCHAR2(30);
BEGIN
Rlt := Emp_Updation.Emp_update(‘Diana, 7000);
DBMS_OUTPUT.PUT_LINE(Rlt);
END;

SELECT EMPLOYEE_ID, FIRST_NAME, LAST_NAME, SALARY FROM EMPLOYEES WHERE FIRST_NAME = ‘Diana’;