Упражнения на курсорах PL / SQL: узнайте дату начала текущей работы конкретного сотрудника
Курсор PL / SQL: упражнение 40 с решением
Напишите блок PL / SQL, чтобы узнать дату начала текущей работы конкретного сотрудника.
Пример решения:
Код PL / SQL:
DECLARE
emp_st_date DATE;
wr_emp_id employees.employee_id%TYPE := &enter_employee_id;
BEGIN
SELECT Max(end_date) + 1
INTO emp_st_date
FROM job_history
WHERE employee_id = wr_emp_id;
IF emp_st_date IS NULL THEN
SELECT hire_date
INTO emp_st_date
FROM employees
WHERE employee_id = wr_emp_id;
END IF;
dbms_output.Put_line('----------------------------------------------------------------------');
dbms_output.Put_line('The starting date of current job for the employee '
||wr_emp_id
||' is: '
||emp_st_date);
END;
/
Пример вывода:
SQL> / Введите значение для enter_employee_id: 189 старый 3: wr_emp_id employee.employee_id% TYPE: = & enter_employee_id; новый 3: wr_emp_id employee.employee_id% TYPE: = 189; -------------------------------------------------- -------------------- Дата начала текущей работы для работника 189: 13 августа 2005 года. Процедура PL / SQL успешно завершена.
Блок - схема:
Улучшите этот пример решения и опубликуйте свой код через Disqus
Предыдущий: Напишите блок PL / SQL, чтобы отобразить фамилию менеджера и его отделы для конкретного города, используя параметры со значением по умолчанию в явном курсоре.
Далее: напишите блок PL / SQL для отображения фамилии, имени и суммы переплаты, добавив формальные параметры, и укажите значения по умолчанию для добавленных параметров.
Каков уровень сложности этого упражнения?
Новый контент: Composer: менеджер зависимостей для PHP , R программирования
disqus2code