Упражнения для курсора PL / SQL: отображает имя сотрудника и количество заданий, которые он или она выполняли в прошлом. Отображает имя сотрудника и количество работ по заданию
Курсор PL / SQL: упражнение 30 с решением
Напишите блок в PL / SQL, чтобы отобразить имя сотрудника и количество заданий, которые он или она выполняли в прошлом.
Отображает имя сотрудника и количество работ по заданию.
Пример решения:
Код PL / SQL:
DECLARE
CURSOR emp_job_cur IS
SELECT job_id,
job_title
FROM jobs
WHERE job_id IN (SELECT job_id
FROM employees)
ORDER BY 2;
CURSOR employees_cur (
emp_jobid VARCHAR) IS
SELECT first_name,
Count(start_date) no_of_jobs
FROM employees e
left outer join job_history jh USING (employee_id)
WHERE e.job_id = emp_jobid
GROUP BY first_name
ORDER BY 1;
BEGIN
FOR emp_job_rec IN emp_job_cur LOOP
dbms_output.Put_line('---------------------------------------');
dbms_output.Put_line('Job Title: '||emp_job_rec.job_title);
dbms_output.Put_line('---------------------------------------');
FOR employee_list IN employees_cur( emp_job_rec.job_id) LOOP
dbms_output.Put_line(' '
|| Rpad(employee_list.first_name, 20)
|| employee_list.no_of_jobs);
END LOOP;
END LOOP;
END;
/
Пример вывода:
SQL> / --------------------------------------- Должность: бухгалтер --------------------------------------- Даниил 0 Исмаэль 0 Джон 0 Жозе Мануэль 0 Луис 0 --------------------------------------- Должность: бухгалтер-менеджер --------------------------------------- Шелли 0 --------------------------------------- Должность: помощник администратора --------------------------------------- Дженнифер 2 --------------------------------------- Должность: вице-президент администрации --------------------------------------- Лекс 1 Neena 2 ...
Блок - схема:
Улучшите этот пример решения и опубликуйте свой код через Disqus
Предыдущий: Напишите блок PL / SQL, чтобы отобразить название отдела, имя руководителя, количество сотрудников в каждом отделе и количество сотрудников, перечисленных в job_history.
Далее: Напишите блок в PL / SQL, чтобы отобразить название отдела и его руководителя.
Каков уровень сложности этого упражнения?
Новый контент: Composer: менеджер зависимостей для PHP , R программирования
disqus2code