Skip to main content

Ejemplo Constrains Oracle


Incrementar los salarios de los empleados del departamento ‘IT’ en 1%, levantar una excepción en caso de que el salario 
actualizado exceda el salario máximo permitido para el puesto 


DECLARE
  name_department  departments.department_name%TYPE := 'IT';
incremento number := 1;
nvo_salario employees.SALARY%TYPE;
CURSOR CIncEmp(name_dept departments.department_name%TYPE) IS
    SELECT employee_id, first_name ||' '|| last_name as NombreEmp, salary, max_salary
FROM employees join jobs using(job_id)
JOIN departments using(department_id)
WHERE department_name = name_dept
    ORDER BY employee_id
    FOR UPDATE OF salary NOWAIT;

  BEGIN

  FOR RegEmp IN CIncEmp(name_department) LOOP
    DBMS_OUTPUT.PUT_LINE('ID. Empleado: ' || ' ' || RegEmp.employee_id);
DBMS_OUTPUT.PUT_LINE('Nombre Empleado: ' || ' ' || RegEmp.NombreEmp);
DBMS_OUTPUT.PUT_LINE('Salario Actual: ' || ' ' || RegEmp.salary);
DBMS_OUTPUT.PUT_LINE('% Incremento: ' || ' ' || Incremento/100);
Nvo_Salario:= RegEmp.salary * (1 + (incremento/100));
IF Nvo_Salario <= RegEmp.max_salary THEN
      UPDATE employees   SET salary = Nvo_Salario
      where current of CIncEmp;
DBMS_OUTPUT.PUT_LINE('Nuevo Salario ' || ' ' || Nvo_Salario);
    ELSE
      DBMS_OUTPUT.PUT_LINE('El aumento excede el limite preestablecido ' || RegEmp.salary ||' ' ||Nvo_Salario);
    END IF;
  END LOOP;
commit;
END;

Comments

Popular posts from this blog

Llamar a 1 800 en USA desde Mexico

Cómo llamar números gratis en USA [toll free] desde México Ok, resulta que alguna vez los números gratis, se llamaban números 1- 800 (01-800 desde México). Pero lo malo de los números es que se acaban, Sobre todo en USA que les encanta vender todo. Ahora los Números gratis pueden ser 1 - 800, 1 - 877, 1 - 866 Para los americanos es cuestion de acostumbrarse, pero para nosotros los usuarios de telmex ¿cómo le hacemos si queremos marcar? Pues en primera pagando, los números gratis en USA usualmente no son gratis desde otros paises. Y en segunda, marcando correctamente. Muchos ya se saben el de los 800, es nada mas cuestion de cambiar el 01 - 800 por 001 - 881, pero y los 1 - 866 ? y los 1 - 877 ? Ahhh pues en mi otro blog ya tenía una entrada con una tablita que lo explica: Si el numero comienza con 1 888 se marca: 001 881 Si el numero comienza con 1 877 se marca: 001 882 Si el numero comienza con 1 866 se marca: 001 883 ¿Por qué? No tengo la más mínima idea, supongo que...

ESET instaladores x86 - x64 ESP,ENG,PTB (Shareware)

- Español Latino ESET NOD32 Antivirus http://download.eset.com/ download/win/eav/eav_nt32_esl. msi http://download.eset.com/ download/win/eav/eav_nt64_esl. msi ESET Smart Security http://download.eset.com/ download/win/ess/ess_nt32_esl. msi http://download.eset.com/ download/win/ess/ess_nt64_esl. msi - Español España ESET NOD32 Antivirus http://download.eset.com/ download/win/eav/eav_nt32_esn. msi http://download.eset.com/ download/win/eav/eav_nt64_esn. msi ESET Smart Security http://download.eset.com/ download/win/ess/ess_nt32_esn. msi http://download.eset.com/ download/win/ess/ess_nt64_esn. msi - Ingles ESET NOD32 Antivirus http://download.eset.com/ download/win/eav/eav_nt32_enu. msi http://download.eset.com/ download/win/eav/eav_nt64_enu. msi ESET Smart Security http://download.eset.com/ download/win/ess/ess_nt32_enu. msi http://download.eset.com/ download/win/ess/ess_nt64_enu. msi - Portugues ESET NOD32 Antivirus http://download.eset.com/ download/win/eav/eav_nt32_ptb. msi http://...

Un Descanso Provicional

Me he tomado un merecido descanso XD si todos los dias descanso y pocas veces subo algo interesante algo que debe de ser exclusivo o al menos distininto a todos los foros. si lo se he encontrado en los foros o blogs algunas cosas y luego bvolviendo a verlos ya no existen asi que trato de conservar todo en respaldos para que una ves que caigan es cuando puedan funcionar de nuevo. el disco duro de mi maquina cumplio con un Error de disco el cual ya no me dejo ingresar nada nisiquiera formateando el disco me permitio continuar con mi labor. asi que ni mas ni menos invertir en otro disco duro y el pasado a ver si lo puedo usar para respaldar o guardar lo que vaya consiguiendo en la red.. salu2.. y gracias por continuar en este blog. dejen comentario o algun pedido trabajare en la semana para compensarles. a ver que puedo encontrar para ustedes