GreysitoErPutoAmo

PL/SQL maaas trigggeeeeers

May 27th, 2015
270
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
PL/SQL 0.73 KB | None | 0 0
  1. --EJERCICIOS TRIGGERS
  2.  
  3. -- 1. Impedir borrar empleados del departamento 20
  4. -- 2. Impedir subidas salarios de mas del 20% con formato num_empleado antes despues fecha.
  5.  
  6. CREATE OR REPLACE TRIGGER borrar_emple
  7.     BEFORE DELETE ON EMPLE
  8.     FOR EACH ROW
  9. BEGIN
  10.     IF :old.dept_no = 10 THEN
  11.      RAISE_APPLICATION_ERROR(-20001,'No se puede borrar la fila');
  12.     END IF;
  13. END;
  14. /
  15.  
  16. CREATE TABLE subidas_salario
  17. CREATE OR REPLACE TRIGGER subsal
  18.     BEFORE UPDATE ON EMPLE
  19.     FOR EACH ROW
  20. BEGIN
  21.     IF :NEW.salario > (:old.salario + (0.2*:old.salario)) THEN
  22.         RAISE_APPLICATION_ERROR (-20001,'La subida supera el 20%');
  23.     END IF;
  24.         INSERT INTO subidas_salarios VALUES (:old.emp_no || '*' || :old.salario || '*' || :NEW.salario || '*' || SYSDATE);
  25. END;
  26. /
Add Comment
Please, Sign In to add comment