Упражнения для курсора PL / SQL: отображение идентификатора сотрудника, имени, должности и даты начала текущей работы
Курсор PL / SQL: упражнение 35 с решением
Напишите блок PL / SQL, чтобы отобразить идентификатор сотрудника, имя, должность и дату начала текущей работы.
Отображает имя, должность, дату начала
Пример решения:
Код PL / SQL:
DECLARE
CURSOR employees_cur IS
SELECT employee_id,
first_name,
job_title,
hire_date
FROM employees
NATURAL join jobs;
emp_first_date DATE;
BEGIN
dbms_output.Put_line(Rpad('Employee ID', 15)
||Rpad('First Name', 25)
||Rpad('Job Title', 35)
||'First Date');
dbms_output.Put_line('-----------------------------------------------------------------------------------------');
FOR emp_sal_rec IN employees_cur LOOP
-- find out most recent end_date in job_history
SELECT Max(end_date) + 1
INTO emp_first_date
FROM job_history
WHERE employee_id = emp_sal_rec.employee_id;
IF emp_first_date IS NULL THEN
emp_first_date := emp_sal_rec.hire_date;
END IF;
dbms_output.Put_line(Rpad(emp_sal_rec.employee_id, 15)
||Rpad(emp_sal_rec.first_name, 25)
|| Rpad(emp_sal_rec.job_title, 35)
|| To_char(emp_first_date, 'dd-mon-yyyy'));
END LOOP;
END;
/
Пример вывода:
SQL> / Идентификатор сотрудника Имя Должность Должность Первая дата -------------------------------------------------- --------------------------------------- 206 William Public Accountant 07-июн-2002 205 Шелли Менеджер по бухгалтерскому учету 07 июня 2002 200 Помощник Администрации Дженнифер 01 января 2007 100 Стивен Президент 17 июня 2003 г. 102 Администрация Lex вице-президент 25 июля 2006 101 вице-президент администрации Neena, 16 марта 2005 г. 110 Джон Бухгалтер 28 сентября 2005 109 Даниэль Бухгалтер 16 августа 2002 113 Луис Бухгалтер 07 декабря 2007 111 Исмаэль Бухгалтер 30 сентября 2005 112 Жозе Мануэль Бухгалтер 07 марта 2006 108 Nancy Finance Manager 17 августа 2002 г. 203 Сьюзен Представитель по персоналу 07 июня 2002 г. ...
Блок - схема:
Улучшите этот пример решения и опубликуйте свой код через Disqus
Предыдущая: напишите блок PL / SQL, чтобы показать использование виртуального столбца в явном запросе курсора.
Далее: Напишите блок PL / SQL, чтобы отобразить название отдела и его самого дорогого сотрудника.
Каков уровень сложности этого упражнения?
Новый контент: Composer: менеджер зависимостей для PHP , R программирования
disqus2code