PROCEDURE PC_DEPARTMENT_EMP_SELECT
( dep_name IN departments.department_name%TYPE )
IS
cursor c_get_emp is
SELECT employees.last_name, employees.first_name,
departments.department_name, jobs.job_title
FROM employees, departments, jobs
WHERE ( (departments.department_id = employees.department_id)
AND (jobs.job_id = employees.job_id)
AND (departments.department_name = dep_name)
)
ORDER BY employees.last_name ASC, employees.first_name ASC;
type erg is record (
last_name employees.last_name%TYPE,
first_name employees.first_name%TYPE,
department_name departments.department_name%TYPE,
job_title jobs.job_title%TYPE);
erg_record erg;
BEGIN
open c_get_emp;
dbms_output.put_line('Alle '||dep_name||' Angestellten:');
loop
fetch c_get_emp into erg_record;
exit when c_get_emp%NOTFOUND;
dbms_output.put_line(erg_record.last_name||' '||erg_record.first_name||' '||erg_record.department_name||' '||erg_record.job_title);
end loop;
if (c_get_emp%rowcount = 0) then
dbms_output.put_line('Kein Datensatz gefunden!!');
else
dbms_output.put_line(c_get_emp%rowcount||' Datensätze gefunden!!');
end if;
close c_get_emp;
END; -- Procedure