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

Упражнения для курсора PL / SQL: вставка данных в две таблицы из одной таблицы с помощью курсора

script1adsense2code
script1adsense3code

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

Напишите программу на PL / SQL для вставки данных в две таблицы из одной таблицы с помощью курсора.

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

Код PL / SQL:

DROP TABLE emp_temp;
CREATE TABLE emp_temp AS
  SELECT employee_id, department_id,job_id
  FROM employees;
DELETE FROM emp_temp;
COMMIT; 
DROP TABLE emp_detls_temp;
CREATE TABLE emp_detls_temp(
employee_id NUMBER,
empname varchar2(40)); 
 
DECLARE
    z_empid employees.employee_id%TYPE;
	z_depid employees.department_id%TYPE;
    z_firstname employees.first_name%TYPE;
    z_lastname  employees.last_name%TYPE;
	
	
    CURSOR cur_stclerk IS
      SELECT employee_id,
	         department_id,
             first_name,
             last_name
      FROM   employees
      WHERE  job_id ='ST_CLERK';
BEGIN
    OPEN cur_stclerk; 
    LOOP
        FETCH cur_stclerk INTO z_empid,z_depid,z_firstname, z_lastname;
        EXIT WHEN cur_stclerk%NOTFOUND;
        INSERT INTO emp_temp
                    (employee_id,
                     department_id,
                     job_id)
        VALUES      (z_empid,
                     z_depid,
                     'ST_CLERK');
        INSERT INTO emp_detls_temp
                    (employee_id,
                     empname)
        VALUES      (z_empid,
                     z_firstname
                     || ' '
                     || z_lastname);
    END LOOP;
    CLOSE cur_stclerk;
    COMMIT; 
END; 
/

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

 Процедура PL / SQL успешно завершена.
Если вы хотите увидеть вставленные данные из таблицы emp_temp и emp_detls_temp, введите следующую инструкцию:
выберите * из emp_temp;
выберите * из emp_detls_temp;

Блок - схема:

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

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

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

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

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


script1adsense4code
script1adsense5code
disqus2code
script1adsense6code
script1adsense7code
script1adsense8code
buysellads2code