Упражнения на курсорах PL / SQL: отображение фамилии менеджера и его отделов для конкретного города с использованием параметров со значением по умолчанию в явном курсоре
Курсор PL / SQL: упражнение 39 с решением
Напишите блок PL / SQL, чтобы отобразить фамилию менеджера и его отделы для конкретного города, используя параметры со значением по умолчанию в явном курсоре.
Пример решения:
Код PL / SQL:
DECLARE
CURSOR emp_cur (dep_location NUMBER DEFAULT 1700) IS
SELECT d.department_name,
e.last_name manager,
l.city
FROM departments d, employees e, locations l
WHERE l.location_id = dep_location
AND l.location_id = d.location_id
AND d.department_id = e.department_id
ORDER BY d.department_id;
PROCEDURE dep_cur IS
depname departments.department_name%TYPE;
dep_mgr employees.last_name%TYPE;
dep_in_city locations.city%TYPE;
BEGIN
LOOP
FETCH emp_cur INTO depname, dep_mgr, dep_in_city;
EXIT WHEN emp_cur%NOTFOUND;
DBMS_OUTPUT.PUT_LINE(rpad(depname,35) ||rpad(dep_mgr,15)|| dep_in_city);
END LOOP;
END dep_cur;
BEGIN
DBMS_OUTPUT.PUT_LINE('DEPARTMENTS AT :');
DBMS_OUTPUT.PUT_LINE('----------------------------');
DBMS_OUTPUT.PUT_LINE(rpad('Department',35)||rpad('Manager',15)||'City');
DBMS_OUTPUT.PUT_LINE('--------------------------------------------------------');
OPEN emp_cur;
dep_cur;
CLOSE emp_cur;
DBMS_OUTPUT.PUT_LINE('--------------------------------------------------------');
OPEN emp_cur(1400);
dep_cur;
CLOSE emp_cur;
END;
/
Пример вывода:
SQL> / ОТДЕЛЕНИЯ В: ---------------------------- Руководитель отдела Город -------------------------------------------------- ------ Администрация Уэйлен Сиэтл Покупка Кольменарес Сиэтл Покупка Байда Сиэтл Покупка Химуро Сиэтл Покупка Рафаэли Сиэтл Покупка Ху Сиэтл Покупка Тобиас Сиэтл Исполнительный Коххар Сиэтл Исполнительный Де Хаан Сиэтл Исполнительный Король Сиэтл Финансы Попп Сиэтл Финансы Гринберг Сиэтл Финансы Фавиет Сиэтл Финансы Чен Сиэтл Финансы Урман Сиэтл Финансы Sciarra Сиэтл Бухгалтерский учет Гитц Сиэтл Бухгалтерский учет Хиггинс Сиэтл -------------------------------------------------- ------ IT Остин Саутлейк ИТ Эрнст Саутлейк IT Pataballa Southlake ИТ Лоренц Саутлейк ЭТО Хунольд Саутлейк Процедура PL / SQL успешно завершена.
Блок - схема:
Улучшите этот пример решения и опубликуйте свой код через Disqus
Предыдущий: Напишите блок PL / SQL для отображения фамилии, имени и суммы переплаты с использованием параметров.
Далее: Напишите блок PL / SQL, чтобы узнать дату начала текущей работы конкретного сотрудника.
Каков уровень сложности этого упражнения?
Новый контент: Composer: менеджер зависимостей для PHP , R программирования
disqus2code