У меня есть две таблицы, первая из которых - emp (emp_id, имя, пол - M или F), а вторая - emp_sal (emp_id, адрес, зарплата). Я хочу обновить зарплату, работница должна увеличиваться на 10%, а мужчины работник должен быть прирост 15% от текущей заработной платыобновить базу зарплаты на другом столе
-1
A
ответ
-1
DECLARE
CURSOR cur_emp
IS
SELECT * FROM emp;
rec_emp cur_emp%rowtype;
BEGIN
OPEN cur_emp;
LOOP
FETCH cur_emp INTO rec_emp;
EXIT WHEN cur_emp%notfound;
IF rec_emp.gender = 'F'THEN
UPDATE emp_sal SET sal = sal + (sal * 0.1) WHERE emp_id = rec_emp.emp_id;
elsif rec_emp.GENDER = 'M' THEN
UPDATE emp_sal SET sal = sal + (sal * 0.15) WHERE emp_id = rec_emp.emp_id;
END IF;
END LOOP;
CLOSE cur_emp;
0
Мы можем попытаться с ниже запрос .....
UPDATE empd es set es.E_salary=case
when(select eg.gender from emps eg where eg.empid=es.empid)='M'
THEN
es.E_salary*0.1
else
es.E_salary*0.5
end;