DAM - DAW - MP 0484 Bases de Dades - NF5
Pràctica 11 – Triggers
En aquesta pràctica, creareu disparadors (triggers) que executaran procediments associats.
Per fer aquests exercicis cal tenir les següents taules creades (Compte que li deixem les PKs):
CREATE OR REPLACE TABLE EMPLEATS LIKE empresa.EMPLOYEES;
INSERT INTO EMPLEATS SELECT * FROM empresa.EMPLOYEES;
CREATE OR REPLACE TABLE FEINES LIKE empresa.JOBS;
INSERT INTO FEINES SELECT * FROM empresa.JOBS;
Canvieu el delimitador per a treballar millor (si ho feu des de la shell)
DELIMITER //
Es recomana, per possibles errades, treballar amb una transacció
START TRANSACTION //
SAVEPOINT P1 //
ROLLBACK TO P1 //
-
Els empleats haurien de rebre un augment automàtic del salari si s'incrementa el salari mínim d'un lloc de treball. Implementeu aquest requisit mitjançant un disparador a la taula
FEINES.-
Creeu un procediment emmagatzemat anomenat
UPD_EMP_SALper actualitzar l'import del salari. Aquest procediment accepta dos paràmetres: l'identificador del lloc de treball (job_id) per al qual s'ha d'actualitzar el salari i el nou salari mínim per a aquesta feina (min_salary). Aquest procediment s'executarà des del disparador de la taulaFEINES. -
Creeu un disparador anomenat
T_UPDATE_EMP_SALARY, a la taulaFEINES, que cridi el procedimentUPD_EMP_SAL, quan s'actualitzi el salari mínim de la taulaFEINES. Quan creieu que caldrà cridar aquest esdeveniment,BEFOREoAFTERFEINES? -
Consulteu la taula
EMPLEATSper veure el salari actual dels empleats que són programadors (IT_PROG). -
Augmenteu el salari mínim dels Programadors (
IT_PROG) de 4.000 a 5.500. -
Torneu a consultar la taula
EMPLEATSper veure el salari actual dels empleats que són programadors (IT_PROG) i compareu-la amb el sou anterior.
-