w3resource

PL/SQL Program to Display Employee Information

PL/SQL While Loop: Exercise-4 with Solution

Write a PL/SQL program to display the employee IDs, names, job titles, hire dates , and salaries of all employees.

Sample Solution:

Table: employees

employee_id		integer
first_name		varchar(25)
last_name		varchar(25)
email			archar(25)
phone_number		varchar(15)
hire_date		date
job_id			varchar(25)
salary			integer
commission_pct		decimal(5,2)
manager_id		integer
department_id		integer

PL/SQL Code:

DECLARE
v_employee_idemployees.employee_id%TYPE;
v_full_nameemployees.first_name%TYPE;
v_job_idemployees.job_id%TYPE;
v_hire_dateemployees.hire_date%TYPE;
v_salaryemployees.salary%TYPE;
  CURSOR c_employees IS
    SELECT employee_id, first_name || ' ' || last_name AS full_name, job_id, hire_date, salary
    FROM employees;
BEGIN
  DBMS_OUTPUT.PUT_LINE('Employee ID | Full Name | Job Title | Hire Date | Salary');
  DBMS_OUTPUT.PUT_LINE('-------------------------------------------------------------------');
  OPEN c_employees;
  FETCH c_employees INTO v_employee_id, v_full_name, v_job_id, v_hire_date, v_salary;
  WHILE c_employees%FOUND LOOP
    DBMS_OUTPUT.PUT_LINE(v_employee_id || '        | ' || v_full_name || ' | ' || v_job_id || ' | ' || v_hire_date || ' | ' || v_salary);
    FETCH c_employees INTO v_employee_id, v_full_name, v_job_id, v_hire_date, v_salary;
  END LOOP;
  CLOSE c_employees;
END;
/

Sample Output:

Employee ID | Full Name | Job Title | Hire Date | Salary
-------------------------------------------------------------------
100        | Steven      King         | AD_PRES | 17-JUN-87 | 24000
101        | NeenaKochhar      | AD_VP | 18-JUN-87 | 17000
102        | Lex         De Haan      | AD_VP | 19-JUN-87 | 17000
103        | Alexander   Hunold       | IT_PROG | 20-JUN-87 | 9000
104        | Bruce       Ernst        | IT_PROG | 21-JUN-87 | 6000
105        | David       Austin       | IT_PROG | 22-JUN-87 | 4800
106        | ValliPataballa    | IT_PROG | 23-JUN-87 | 4800
107        | Diana       Lorentz      | IT_PROG | 24-JUN-87 | 4200
108        | Nancy       Greenberg    | FI_MGR | 25-JUN-87 | 12000
109        | Daniel      Faviet       | FI_ACCOUNT | 26-JUN-87 | 9000
110        | John        Chen         | FI_ACCOUNT | 27-JUN-87 | 8200
111        | Ismael      Sciarra      | FI_ACCOUNT | 28-JUN-87 | 7700
112        | Jose ManueUrman        | FI_ACCOUNT | 29-JUN-87 | 7800
113        | Luis        Popp         | FI_ACCOUNT | 30-JUN-87 | 6900
.....

Explanation:

The said code in Oracle's PL/SQL that retrieves and display the employee IDs, names, job titles, hire dates, and salaries for all employees stored in the 'employees' table.

The cursor c_employees is declared that selects the information of employees from the 'employees' table, including the employee_id, first_name, last_name, job_title, hire_date, and salary fields.

The FOR loop iterates through each row of the c_employees cursor and retrieves employees information by the emp record, which corresponds to the current row of the cursor.

The DBMS_OUTPUT.PUT_LINE function display the employee_id, full_name, job_title, hire_date, and salary in a formatted manner.

Flowchart:

Flowchart: PL/SQL While Loop Exercises - PL/SQL Program to Display Employee Information

Improve this sample solution and post your code through Disqus

Previous: PL/SQL program to display location ids and cities.
Next: Employee information retrieval using PL/SQL cursor.

What is the difficulty level of this exercise?



Become a Patron!

Follow us on Facebook and Twitter for latest update.

It will be nice if you may share this link in any developer community or anywhere else, from where other developers may find this content. Thanks.

https://w3resource.com/plsql-exercises/while-loop/plsql-while-loop-exercise-4.php