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

Упражнения для курсоров PL / SQL: FETCH-записи с вложенными курсорами с использованием циклов Cursor FOR

script1adsense2code
script1adsense3code

Курсор PL / SQL: упражнение 20 с решением

Напишите программу на PL / SQL для записи FETCH с вложенными курсорами, используя Cursor FOR Loops.

Вложенные курсоры с помощью курсора для циклов

Пример решения:

Код PL / SQL:

DECLARE
  emp_dept_id departments.department_id%TYPE;
 CURSOR cur_dept IS
  SELECT * 
  FROM departments
  WHERE manager_id IS NOT NULL
  ORDER BY department_name;
 CURSOR cur_emp IS
  SELECT * 
  FROM employees
  WHERE department_id = emp_dept_id;
  
BEGIN
    FOR r_dept IN cur_dept
    LOOP
      emp_dept_id := r_dept.department_id;
      DBMS_OUTPUT.PUT_LINE('----------------------------------');
      DBMS_OUTPUT.PUT_LINE('Department Name : '||r_dept.department_name);
      DBMS_OUTPUT.PUT_LINE('----------------------------------');
           FOR r_emp IN cur_emp 
           LOOP
             DBMS_OUTPUT.PUT_LINE('Employee: '||r_emp.last_name);
           END LOOP;   
    END LOOP;
END;
 /

Пример вывода:

 SQL> /
----------------------------------
Название отдела: Бухгалтерия
----------------------------------
Сотрудник: Хиггинс
Сотрудник: Гитц
----------------------------------
Название отдела: Администрация
----------------------------------
Сотрудник: Whalen
----------------------------------
Название отдела: исполнительный
----------------------------------
Сотрудник: король
Сотрудник: Кочхар
Сотрудник: Де Хаан
...

Блок - схема:

«Блок-схема:

Улучшите этот пример решения и опубликуйте свой код через Disqus

Предыдущий: Напишите программу на PL / SQL для извлечения нескольких записей с использованием вложенного курсора.
Далее: написать программу на PL / SQL для распечатки списка менеджеров и названия отделов.

Каков уровень сложности этого упражнения?

Новый контент: Composer: менеджер зависимостей для PHP , R программирования


script1adsense4code
script1adsense5code
disqus2code
script1adsense6code
script1adsense7code
script1adsense8code
buysellads2code