PROCEDURE EMP_PER_DEP IS -- durch den aufbau der where clause koenne entweder ALLE -- oder nur ein bestimmtes Department gelesen werden cursor c_emp_per_dep(p_dep_name varchar2) is SELECT departments.department_name, employees.first_name, employees.last_name FROM departments, employees WHERE (departments.department_id = employees.department_id) and ((department_name = p_dep_name and p_dep_name is not null) or (p_dep_name is null)) ORDER BY departments.department_name DESC; BEGIN for r_emp_per_dep in c_emp_per_dep(null) loop dbms_output.put_line(r_emp_per_dep.department_name || ' ' || r_emp_per_dep.first_name || ' ' || r_emp_per_dep.last_name); end loop; END; -- Procedure