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

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

script1adsense2code
script1adsense3code

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

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

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

Код PL / SQL:

DROP TABLE emp_temp;
CREATE TABLE emp_temp AS
  SELECT *
  FROM employees;
 
 
DECLARE
  CURSOR employees_cur IS
    SELECT employee_id,
           first_name,
           Trunc(Months_between(SYSDATE,hire_date) / 12) expr
    FROM   emp_temp;
incre_per NUMBER(2);
BEGIN
  dbms_output.put_line(rpad('Employee ID',15)||rpad('Name',25) || 'Increment %');
  dbms_output.Put_line('-----------------------------------------------------------');
  FOR store_emp_rec IN employees_cur 
  LOOP
    incre_per :=
    CASE
    WHEN store_emp_rec.expr > 10 THEN
      15
    WHEN store_emp_rec.expr > 5 THEN
      10
    ELSE
      8
    END;
    UPDATE emp_temp
    SET    salary = salary + (salary * incre_per / 100)
    WHERE  employee_id = store_emp_rec.employee_id;
dbms_output.put_line(rpad(store_emp_rec.employee_id,15) ||rpad(store_emp_rec.first_name,25)||  incre_per );	
  END LOOP;
END;
/ 

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

 SQL> /
Идентификатор сотрудника Имя Инкремент%
-------------------------------------------------- -
100 Стивен 15
101 Неена 15
102 Lex 15
103 Александра 15
104 Брюс 10
105 Давид 15
106 Валли 15
107 Диана 15
108 Нанси 15
109 Даниил 15
110 Иоанна 15
111 Исмаэль 15
112 Жозе Мануэль 15
113 Луис 10
114 ден 15
... 

Блок - схема:

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

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

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

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

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


script1adsense4code
script1adsense5code
disqus2code
script1adsense6code
script1adsense7code
script1adsense8code
buysellads2code