Упражнения по PL / SQL-курсору: отображение имени, должности и даты начала работы сотрудников
Курсор 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 программирования
disqus2code