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

Упражнения на курсорах PL / SQL: отображение фамилии менеджера и его отделов для конкретного города с использованием параметров со значением по умолчанию в явном курсоре

script1adsense2code
script1adsense3code

Курсор 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 программирования


script1adsense4code
script1adsense5code
disqus2code
script1adsense6code
script1adsense7code
script1adsense8code
buysellads2code