DAM - DAW - MP 0484 Bases de Dades - NF5
Pràctica 9 – Procediments
En aquesta pràctica, creareu procediments que contenen consultes DML.
Per fer aquests exercicis cal tenir les següents taules creades (Compte que li deixem les PKs):
CREATE OR REPLACE TABLE EMPLEATS AS 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 //
i així, en qualsevol moment poder desfer el que s'ha fet
ROLLBACK TO P1 //
-
Creeu el procediment
ADD_FEINAper afegir un nou treball a la taulaFEINES.-
Creeu un procediment anomenat
ADD_FEINAamb dos paràmetres:job_idijob_title. -
Executeu el procediment amb
'IT_DBA'com ajob_idi'Database Administrator'com ajob_title. Consulteu la taulaFEINESper veure els resultats. -
Torneu a executar el procediment, passant un job_id
'ST_MAN'i job_title'Stock Manager'. Què passa i per què?
-
-
Creeu un procediment anomenat
UPD_FEINAper modificar un treball a la taulaFEINES.-
Creeu un procediment anomenat
UPD_FEINAper actualitzar eljob_title. Proporcioneu eljob_idi un noujob_title, utilitzant dos paràmetres. Cal incloure la gestió d'excepcions necessària per si no es produeix cap actualització. -
Executeu el procediment per canviar el
job_titledel job_idIT_DBAa'Data Administrator'. -
Consulteu la taula
FEINESper veure els resultats.
-
-
Creeu un procediment anomenat
DEL_FEINAper eliminar un treball de la taulaFEINES.-
Creeu un procediment anomenat
DEL_FEINAper eliminar treball, amb un únic paràmetre elJOB_ID. Incloeu l'excepció necessària per si no es troba la feina a esborrar. -
Executeu el procediment amb
IT_DBAcom aJOB_ID. Consulteu la taulaFEINES. -
Comproveu la gestió d'excepcions intentant suprimir un
JOB_IDque no existeix (per exempleIT_WEB). Hauríeu d'obtenir el missatge que heu utilitzat a la secció de gestió d'excepcions.
-
-
Creeu un procediment anomenat
QUERY_EMPper consultar la taulaEMPLEATS, recuperant elsalaryi eljob_idd'un empleat.- Creeu un procediment que retorni un valor de les columnes
salaryijob_idper a un determinat identificador d'empleat (employee_id).
b) Aquest procediment rebrà tres paràmetres. Un d’entrada (
IN) i dos de sortida (OUT).c) Per a provar-ho necessitarem 2 o 3 variables d’usuari. Almenys per les variables de sortida (
OUT)d) Executeu el procediment per mostrar el
salaryijob_idper a l'empleat107. - Creeu un procediment que retorni un valor de les columnes