CREATE OR REPLACE PACKAGE view_Emp
AS
PROCEDURE Emp_details (emp_id NUMBER);
PROCEDURE Emp_details (Firstname VARCHAR2);
END view_Emp;

CREATE OR REPLACE PACKAGE BODY view_Emp
AS
PROCEDURE Emp_details (emp_id NUMBER)
AS
Emp EMPLOYEES%ROWTYPE;
BEGIN
SELECT * INTO Emp FROM EMPLOYEES
WHERE EMPLOYEE_ID = emp_id;
DBMS_OUTPUT.PUT_LINE('Employee Details');
DBMS_OUTPUT.PUT_LINE('=================');
DBMS_OUTPUT.PUT_LINE('Employee ID: ' || Emp.EMPLOYEE_ID);
DBMS_OUTPUT.PUT_LINE('=================');
DBMS_OUTPUT.PUT_LINE('Employee Name: ' || Emp.FIRST_NAME|| ' '|| Emp .LAST_NAME);
DBMS_OUTPUT.PUT_LINE('=================');
DBMS_OUTPUT.PUT_LINE('Employee Designation: ' || Emp.JOB_ID);
DBMS_OUTPUT.PUT_LINE('=================');
DBMS_OUTPUT.PUT_LINE('Employee Join Date: ' || Emp.HIRE_DATE);
DBMS_OUTPUT.PUT_LINE('=================');
DBMS_OUTPUT.PUT_LINE('Employee Salary: ' || Emp.SALARY);
DBMS_OUTPUT.PUT_LINE('=================');
EXCEPTION
WHEN NO_DATA_FOUND THEN
DBMS_OUTPUT.PUT_LINE('Employee number does not
exist');
WHEN OTHERS THEN
DBMS_OUTPUT.PUT_LINE('Value does not exist');
END Emp_details;
PROCEDURE Emp_details (Firstname VARCHAR2)
AS
Emp EMPLOYEES%ROWTYPE;
BEGIN
SELECT * INTO Emp FROM EMPLOYEES
WHERE FIRST_NAME = Firstname;
DBMS_OUTPUT.PUT_LINE('Employee Details');
DBMS_OUTPUT.PUT_LINE('=================');
DBMS_OUTPUT.PUT_LINE('Employee ID: ' ||
Emp.EMPLOYEE_ID);
DBMS_OUTPUT.PUT_LINE('=================');
DBMS_OUTPUT.PUT_LINE('Employee Name: ' ||
Emp.FIRST_NAME|| ' '|| Emp .LAST_NAME);
DBMS_OUTPUT.PUT_LINE('=================');
DBMS_OUTPUT.PUT_LINE('Employee Designation: ' ||
Emp.JOB_ID);
DBMS_OUTPUT.PUT_LINE('=================');
DBMS_OUTPUT.PUT_LINE('Employee Join Date: ' ||
Emp.HIRE_DATE);
DBMS_OUTPUT.PUT_LINE('=================');
DBMS_OUTPUT.PUT_LINE('Employee Salary: ' || Emp.SALARY);
DBMS_OUTPUT.PUT_LINE('=================');
EXCEPTION
WHEN NO_DATA_FOUND THEN
DBMS_OUTPUT.PUT_LINE('Employee number does not exist');
WHEN OTHERS THEN
DBMS_OUTPUT.PUT_LINE('Value does not exist');
END Emp_details;
END view_Emp;


SQL>EXEC view_Emp.Emp_details(100);
SQL>EXEC view_Emp.Emp_details(‘Danielle’);