Упражнения для курсора PL / SQL: выборка нескольких записей с использованием вложенного курсора
Курсор PL / SQL: упражнение 19 с решением
Напишите программу на PL / SQL для извлечения нескольких записей с использованием вложенного курсора.
Пример решения:
Код PL / SQL:
DECLARE
e_dept_no employees.department_id%TYPE;
CURSOR cur_deptartments IS
SELECT *
FROM departments;
CURSOR cur_employees IS
SELECT *
FROM employees e
WHERE e.department_id = e_dept_no;
v_deptrec departments%ROWTYPE;
v_emprec employees%ROWTYPE;
BEGIN
OPEN cur_deptartments;
LOOP
FETCH cur_deptartments INTO v_deptrec;
exit WHEN cur_deptartments%NOTFOUND;
e_dept_no := v_deptrec.department_id;
DBMS_OUTPUT.PUT_LINE('----------------------------------');
DBMS_OUTPUT.PUT_LINE('Department Name : '||v_deptrec.department_name);
DBMS_OUTPUT.PUT_LINE('----------------------------------');
OPEN cur_employees;
LOOP
FETCH cur_employees INTO v_emprec;
exit WHEN cur_employees%NOTFOUND;
dbms_output.Put_line('Employee: '
|| v_emprec.first_name
||chr(9)||'Salary: '
|| v_emprec.salary);
END LOOP;
CLOSE cur_employees;
END LOOP;
CLOSE cur_deptartments;
END;
/
Пример вывода:
SQL> / ---------------------------------- Название отдела: Администрация ---------------------------------- Работник: Дженнифер Зарплата: 4400 ---------------------------------- Название отдела: маркетинг ---------------------------------- Сотрудник: Михаил Зарплата: 13000 Работник: Пэт Зарплата: 6000 ---------------------------------- Название отдела: Закупки ---------------------------------- Работник: Ден Зарплата: 11000 Работник: Александр Зарплата: 3100 Сотрудник: Шелли Зарплата: 2900 Сотрудник: Сигал Зарплата: 2800 Работник: Гай Зарплата: 2600 Работник: Карен Зарплата: 2500 ...
Блок - схема:
Улучшите этот пример решения и опубликуйте свой код через Disqus
Предыдущий: Написать программу на PL / SQL для извлечения нескольких записей и нескольких столбцов из разных таблиц.
Далее: Написать программу на PL / SQL для FETCH записей с вложенными курсорами, используя Cursor FOR Loops.
Каков уровень сложности этого упражнения?
Новый контент: Composer: менеджер зависимостей для PHP , R программирования
disqus2code