Добавил:
Upload Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:
есептер.doc
Скачиваний:
0
Добавлен:
01.05.2025
Размер:
158.21 Кб
Скачать

55) DECLARE

sFirstName varchar2(20) := '&Имя_сотрудника';

sLastName varchar2(25) := '&Фамилия_сотрудника';

sEmail  varchar2(25) := '&Адрес_электронной_почты';

sPhoneNumber varchar2(20) := '&Номер_телефона';

sJobId varchar2(10) := '&Должность_сотрудника';

BEGIN

insert into hr.employees values(employees_seq.nextval, sFirstName, sLastName, sEmail,  sPhoneNumber, sysdate, sJobId, (SELECT AVG(SALARY) from hr.employees where job_id=sJobId), null,null, null);

commit;

END;

54) Declare

sFirstName varchar2(20) := '&Имя_сотрудника';

sLastName varchar2(25) := '&Фамилия_сотрудника';

sEmail  varchar2(25) := '&Адрес_электронной_почты';

sPhoneNumber varchar2(20) := '&Номер_телефона';

sJobId varchar2(10) := '&Должность_сотрудника';

BEGIN

insert into hr.employees values(employees_seq.nextval, sFirstName, sLastName, sEmail,  sPhoneNumber, sysdate, sJobId, (SELECT MAX(SALARY) from hr.employees where job_id=sJobId), null,null, null);

commit;

END;

53) SET SERVEROUTPUT ON;

DECLARE

nEmpID hr.EMPLOYEES.Employee_id%TYPE := &Номер_сотрудника;

nOldSalary hr.employees.salary%Type;

nNewSalary hr.Employees.SALARY%Type;

sFirstName hr.EMPLOYEES.first_name%Type;

sLastName hr.employees.Last_Name%Type;

dHireDate hr.employees.HIRE_DATE%type;

nYears number(4,0);

BEGIN

SELECT salary into nOldSalary from hr.employees where employee_id = nEmpId;

SELECT first_name into sFirstName from hr.employees where employee_id = nEmpId;

SELECT last_name into sLastName from hr.employees where employee_id = nEmpId;

SELECT hire_date into dHireDate from hr.employees where employee_id = nEmpId;

nYears := MONTHS_BETWEEN(SYSDATE, dHireDate)/12;

IF nYears >= 15 then

nNewSalary := nOldSalary*1.15;

ELSIF nYears >= 10 Then

nNewSalary := nOldSalary*1.10;

ELSE

nNewSalary := nOldSalary*1.05;

END IF;

UPDATE hr.employees SET SALARY = nNewSalary WHERE employee_id = nEmpID;

commit;

DBMS_OUTPUT.PUT_LINE('Номер сотрудника: ' || nEmpID || '  Имя и фамилия: ' || sFirstName || ' ' || sLastName || '  Проработано лет: ' || nYears);

DBMS_OUTPUT.PUT_LINE('Старая зарплата: ' || nOldSalary || '  Новая зарплата: ' || nNewSalary);END;

 

52) Declare

nOldSalary hr.employees.salary%Type;

nNewSalary hr.Employees.SALARY%Type;

sFirstName hr.EMPLOYEES.first_name%Type;

sLastName hr.employees.Last_Name%Type;

dHireDate hr.employees.HIRE_DATE%type;

nYears number(4,0);

BEGIN

FOR ITEM IN (SELECT Employee_id FROM hr.EMPLOYEES)

LOOP

SELECT salary into nOldSalary from hr.employees where employee_id = item.Employee_id;

SELECT first_name into sFirstName from hr.employees where employee_id = item.Employee_id;

SELECT last_name into sLastName from hr.employees where employee_id = item.Employee_id;

SELECT hire_date into dHireDate from hr.employees where employee_id = item.Employee_id;

nYears := MONTHS_BETWEEN(SYSDATE, dHireDate)/12;

CASE

WHEN nYears >= 15 THEN nNewSalary := nOldSalary*1.15;

WHEN nYears >= 10 THEN nNewSalary := nOldSalary*1.10;

ELSE nNewSalary := nOldSalary*1.05;

END CASE;

UPDATE hr.employees SET SALARY = nNewSalary WHERE employee_id = item.Employee_id;

DBMS_OUTPUT.PUT_LINE('Номер сотрудника: ' || item.Employee_id || '  Имя и фамилия: ' || sFirstName || ' ' || sLastName || ' Проработано лет: ' || nYears);

DBMS_OUTPUT.PUT_LINE('Старая зарплата: ' || nOldSalary || '  Новая зарплата: ' || nNewSalary);

END LOOP;

END;

51) create sequence seq

increment by 5

start with 100

maxvalue 565;

declare

sjob_title varchar2(20):='&nazvanie';

smin_salary int:='&min';

smax_salary int:='&max';

begin

insert into jobs values(seq.nextval, sjob_title,

smin_salary, smax_salary);

commit;

end;

/

Соседние файлы в предмете [НЕСОРТИРОВАННОЕ]