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

Упражнения по PL / SQL-курсору: отображение имени, должности и даты начала работы сотрудников

script1adsense2code
script1adsense3code

Курсор PL / SQL: упражнение 42 с решением

Напишите блок в PL / SQL, чтобы отобразить имя, должность и дату начала работы сотрудников.

Пример решения:

Код PL / SQL:

declare
  cursor employees_cur is
   select employee_id, first_name, last_name, job_title , hire_date
   from employees natural join jobs;
   
   emp_st_date  date;
begin
dbms_output.put_line( rpad('Employee Name',30) || rpad('Job Title',35)|| 'Starting Date');
dbms_output.put_line('-----------------------------------------------------------------------------------------');
   for employee_rec in employees_cur
   loop
       -- find out most recent end_date in job_history
       select max(end_date) + 1 into emp_st_date
       from job_history
       where employee_id = employee_rec.employee_id;
       if emp_st_date is null then
             emp_st_date :=  employee_rec.hire_date;      
       end if;
       dbms_output.put_line(rpad((employee_rec.first_name||' '||employee_rec.first_name),30) || rpad(employee_rec.job_title,35)
           || to_char(emp_st_date,'dd-mon-yyyy'));
   end loop;
end; 

Пример вывода:

 SQL> /
Имя сотрудника Должность Должность Дата начала
-------------------------------------------------- -----------------------------
Уильям Уильям Общественный бухгалтер 07-июн-2002
Шелли Шелли Менеджер по бухгалтерскому учету 07-июн-2002
Дженнифер Дженнифер Помощник Администратора 01 января 2007
Стивен Стивен Президент 17 июня 2003 г.
Администрация Lex Lex Вице-президент 25 июля 2006
Нина Нина Администрация Вице-президент 16 марта 2005 года
Джон Джон Бухгалтер 28 сентября 2005
Даниэль Даниэль Бухгалтер 16 августа 2002
Луис Луис Бухгалтер 07 декабря 2007
Исмаэль Исмаэль Бухгалтер 30 сентября 2005
Жозе Мануэль Жозе Мануэль Бухгалтер 07 марта 2006
Нэнси Нэнси Финансовый менеджер 17 августа 2002
Сьюзан Сьюзан Представитель отдела кадров 07-июн-2002
... 

Блок - схема:

«Блок-схема:

Улучшите этот пример решения и опубликуйте свой код через Disqus

Предыдущий: Напишите блок PL / SQL, чтобы отобразить фамилию, имя и сумму переплаты, добавив формальные параметры и указав значения по умолчанию для добавленных параметров.
Далее: Напишите блок в PL / SQL, чтобы напечатать название отдела, начальник отдела, город и количество сотрудников, работающих в этом отделе.

Каков уровень сложности этого упражнения?

Новый контент: Composer: менеджер зависимостей для PHP , R программирования


script1adsense4code
script1adsense5code
disqus2code
script1adsense6code
script1adsense7code
script1adsense8code
buysellads2code