кодесурса
«PL / SQL

Упражнения для курсора PL / SQL: отображает имя сотрудника и количество заданий, которые он или она выполняли в прошлом. Отображает имя сотрудника и количество работ по заданию

script1adsense2code
script1adsense3code

Курсор 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 программирования


script1adsense4code
script1adsense5code
disqus2code
script1adsense6code
script1adsense7code
script1adsense8code
buysellads2code