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

Упражнения на курсорах PL / SQL: Увеличьте зарплату сотрудников в отделе 50 с помощью предложения WHERE CURRENT OF

script1adsense2code
script1adsense3code

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


script1adsense4code
script1adsense5code
disqus2code
script1adsense6code
script1adsense7code
script1adsense8code
buysellads2code