Está en la página 1de 2

1.

programa que intercambie los salario de los


empleado con id 120 y 122
DECLARE
salario1 employees.salary%type;
salario2 employees.salary%type;
BEGIN
SELECT salary INTO salario1 FROM employees WHERE employee_id=120;
SELECT salary INTO salario2 FROM employees WHERE employee_id=122;
UPDATE employees SET salary=salario2 WHERE employee_id=120;
UPDATE employees SET salary=salario1 WHERE employee_id=122;
END

SELECT employee_id,salary
FROM employees
WHERE employee_id=120 OR employee_id=122

2.Incrementar el salario del empleado 115 basado en las siguintes condiciones:


si la experiencia es mas de 10 a�os aumentar 20%, si la experiencia es mayor
que 5 a�os aumentar 10%, en otro caso 5%

DECLARE
anio int;
BEGIN
SELECT to_char(sysdate,'YYYY')-to_char(hire_date,'YYYY') INTO anio
FROM employees
WHERE employee_id=115;
IF anio>10 THEN
UPDATE employees SET salary=salary+0.20*salary WHERE employee_id=115;
ELSIF anio>5 THEN
UPDATE employees SET salary=salary+0.10*salary WHERE employee_id=115;
ELSE
UPDATE employees SET salary=salary+0.5*salary WHERE employee_id=115;
end if;
END
SELECT salary
FROM employees
WHERE employee_id=115

UPDATE employees SET salary=1000 WHERE employee_id=115

cambiar el porcetaje de comision para el empeado con id 150, si el salario es


mayor que 10000 cambiarlo a 0.4% si el salario es menor a 10000 pero la
experiencia es mayor a 10 a�os, entonces 0.35%, si el salario es menor a 3000
entonces a 0.25% em otro caso 0.15%
DECLARE
salario employees.salary%type;
anio int;
BEGIN
SELECT to_char(sysdate,'YYYY')-to_char(hire_date,'YYYY') INTO anio
FROM employees
WHERE employee_id=150;
SELECT salary INTO salario
FROM employees
WHERE employee_id=150;
IF salario >10000 THEN
UPDATE employees SET COMMISSION_PCT=0.4 WHERE employee_id=150;
ELSIF salario<1000 AND anio>10 THEN
UPDATE employees SET COMMISSION_PCT=0.35 WHERE employee_id=150;
ELSIF salario<3000 THEN
UPDATE employees SET COMMISSION_PCT=0.25 WHERE employee_id=150;
ELSE
UPDATE employees SET COMMISSION_PCT=0.15 WHERE employee_id=150;
END IF;
END

SELECT salary,COMMISSION_PCT,to_char(sysdate,'YYYY')-to_char(hire_date,'YYYY')
FROM employees
WHERE employee_id=150;

UPDATE employees SET salary=20000 WHERE employee_id=150


cambiar el salario del empleado 130 por el salario del empleado de nombre 'Joe'.si
no se encuentra Joe, se debe tomar el promedio del salario de todos los
empleados,Si
hay mas empleado con el nombre Joe se debera tomar el menor de todos los salario
de los emlpeado cnoo nombre joe
DECLARE
cont int;
salario employees.salary%type;
BEGIN
SELECT count(*) INTO cont
FROM employees
WHERE first_name='Joe';
IF cont=0 THEN
UPDATE employees SET salary=(SELECT avg(salary)FROM employees) WHERE
employee_id=130;
ELSIF cont=1 THEN
SELECT salary INTO salario
FROM employees
WHERE first_name='Joe';
UPDATE employees SET salary=salario WHERE employee_id=130;
ELSE
SELECT min(salary) INTO salario
FROM employees
WHERE first_name='Joe';
UPDATE employees SET salary=salario WHERE employee_id=130;
END IF;
END

SELECT salary
FROM EMPLOYEES
WHERE employee_id=130;

UPDATE employees SET salary=100 WHERE employee_id=130;


UPDATE employees SET first_name='Joe' WHERE employee_id=151;

También podría gustarte