2016-05-26 3 views
-1

У меня есть две таблицы, первая из которых - emp (emp_id, имя, пол - M или F), а вторая - emp_sal (emp_id, адрес, зарплата). Я хочу обновить зарплату, работница должна увеличиваться на 10%, а мужчины работник должен быть прирост 15% от текущей заработной платыобновить базу зарплаты на другом столе

ответ

-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;