Diferència entre revisions de la pàgina «Procediments emmagatzemats. Condicionals: IF, CASE»
(Es crea la pàgina amb «=Feina per l'alumne= Treballarem amb la base de dades HR (Human Resources) Realitza els següents exercicis: '''1.''' Programar el procediment ''CategoriaSalarial(IN...».) |
m (→Entrega) |
||
| Línia 46: | Línia 46: | ||
=Entrega= | =Entrega= | ||
| − | + | Entregaràs al Classroom, dins del termini de l'entrega, un document amb l'enunciat, el codi proposat, i el resultat que obtens per la pantalla. | |
{{Autor}}, març 2022 | {{Autor}}, març 2022 | ||
Revisió de 11:09, 28 març 2022
Feina per l'alumne
Treballarem amb la base de dades HR (Human Resources)
Realitza els següents exercicis:
1. Programar el procediment CategoriaSalarial(IN vlast_name, OUT vcategoria), de manera que si un empleat té un salari superior o igual a la mitjana dels salaris dels empleats, la seva categoria és 'SUPERIOR'. Si el salari és inferior, la seva categoria és 'INFERIOR'. Prova-ho amb tres empleats.
2. Per trobar els anys que un empleat treballa a l'empresa pots utilitzar aquesta select:
select datediff(now(),hire_date)/365 from employees;
I si ho volem convertir a número enter:
select FLOOR(datediff(now(),hire_date)/365) from employees;
Els valors van entre 22 i 34 anys. Podem considerar que un empleat té antiguitat 'NOU' si la seva antiguitat és inferior o igual a 28 anys. En cas contrari, la seva antiguitat és 'ANTIC'.
Programar el procediment Antiguitat (IN vlast_name, OUT vantiguitat) que doni com a resultat l'antiguitat d'un empleat. Prova-ho amb tres empleats.
3. Sentència CASE. Considerem les següents franges d'antiguitat, i per cada franja d'antiguitat es pot proposar un increment de salari:
- 20:23 -> increment 10%
- 24:27 -> increment 12%
- 28:31 -> increment 14%
- 32:36 -> increment 16%
Programar el procediment IncrementSalari (IN vlast_name), que doni la següent cadena:
Empleat: xxx (nom) xxx (cognom) Antiguitat: xxx Salari: xxx Proposta increment: xxx % Proposta salari: xxx
Per al retorn de carro (línia nova) pots utilitzar el caràcter '\n'.
Prova-ho amb tres empleats.
4. Genera el fitxer informe.txt que inclogui la informació de proposta d'increment de salaris dels empleats 'Popp','Partners', 'Taylor', 'Livingston'
Des de la línia de comandes, pots provar:
mysql -u alumne -pkeiL2lai -D HR -s -e "CALL IncrementSalari('Popp'); CALL IncrementSalari('Partners'); CALL IncrementSalari('Taylor'); CALL IncrementSalari('Livingston');" > informe.txt
Amb el MySQL Workbench serà una mica diferent, ho pots provar també.
Entrega
Entregaràs al Classroom, dins del termini de l'entrega, un document amb l'enunciat, el codi proposat, i el resultat que obtens per la pantalla.
creat per Joan Quintana Compte, març 2022