This is an old revision of the document!
CREATE OR REPLACE PROCEDURE EMP_PER_DEP AS
cursor c_dep is
select department_id, department_name from departments;
i number;
BEGIN
for r_dep in c_dep loop
dbms_output.put_line(r_dep.department_name);
i := 0;
for r_emp in
(select * from employees where
department_id = r_dep.department_id
order by salary desc) loop
i := i + 1;
exit when i > 3;
dbms_output.put_line(i||'. '||r_emp.last_name
||' '||r_emp.salary);
end loop;
end loop;
END EMP_PER_DEP;