Упражнения на курсорах PL / SQL: Увеличьте зарплату сотрудников в отделе 50 с помощью предложения WHERE CURRENT OF
Курсор PL / SQL: Упражнение 14 с решением
Создайте блок PL / SQL для увеличения заработной платы сотрудников в отделе 50 с помощью предложения WHERE CURRENT OF.
Пример решения:
Код PL / SQL:
DROP TABLE emp_temp;
CREATE TABLE emp_temp AS
SELECT employee_id,
first_name,
last_name,
department_id,
salary
FROM employees;
DECLARE
CURSOR employee_cur IS
SELECT employee_id,
salary
FROM emp_temp
WHERE department_id = 50
FOR UPDATE;
incr_sal NUMBER;
BEGIN
FOR employee_rec IN employee_cur LOOP
IF employee_rec.salary < 15000 THEN
incr_sal := .15;
ELSE
incr_sal := .10;
END IF;
UPDATE emp_temp
SET salary = salary + salary * incr_sal
WHERE CURRENT OF employee_cur;
END LOOP;
END;
/
Пример вывода:
SQL> / Процедура PL / SQL успешно завершена.
Блок - схема:
Улучшите этот пример решения и опубликуйте свой код через Disqus
Previous: написать программу на PL / SQL для создания явного курсора с циклом for.
Далее: Написать программу на PL / SQL для FETCH одной записи и одного столбца из таблицы.
Каков уровень сложности этого упражнения?
Новый контент: Composer: менеджер зависимостей для PHP , R программирования
disqus2code