3. Control del flux
3.1. Sentència IF
Sintaxi:
Exemple:
3.2. Sentència CASE
Sintaxi:
| SQL | |
|---|---|
O bé:
| SQL | |
|---|---|
Exemples:
| SQL | |
|---|---|
| SQL | |
|---|---|
3.3. Sentència WHILE - DO
Sintaxi:
Mentre es compleix la condició, s'executen les sentències.
Exemple:
| SQL | |
|---|---|
3.4. Sentència REPEAT - UNTIL
Sintaxi:
Es repetixen les sentències fins que la condició es complisca. És com un do-while, però la condició ha de ser la contrària per a que s'executen les sentències.
Exemple:
| SQL | |
|---|---|
Pregunta
Fan el mateix els dos exemples anteriors de do-while i repeat-until?
Nota
L'operador condicional d'igualtat es representa per un signe igual ( = ).
3.5. Sentència LOOP, LEAVE i ITERATE
Exemple:
Explicació:
Amb LOOP creem un bucle infinit: no posem cap condició ni al principi (com en el while-do) ni al final (com en el repeat-until), sinó dins del cos del bucle: amb el LEAVE eixirem del bucle i amb el ITERATE tornarem directament a l'inici del bucle. Estes dos sentències també es poden posar dins dels altres bucles que hem vist.
Estes sentències (LOOP, LEAVE i ITERATE) no són recomanables perquè trenquen la idea de la programació estructurada.
3.6. Exercicis
Exercicis amb sentències de control de flux (BD futbol)
3. Crea el procediment inserirGolejador al qual li passes com a paràmetre el dorsal, el codi de l'equip, el nom del jugador, la quantitat de partits jugats i la quantitat de gols marcats. El procediment caldrà guardar eixa informació (en les taules de jugadors i golejadors), però caldrà tindre en compte primer si eixe jugador ja existia o no en la base de dades (ja que haurà de fer inserts o updates en cada cas).
A continuació fes 3 crides al procediment per comprovar que funciona correctament:
- a) Una crida amb un jugador que no existisca.
- b) Una crida amb un jugador que existisca com a jugador però no com a golejador.
- c) Una crida amb un jugador que existisca com a jugador i golejador.
4. Crea el procediment inserirJornades a la qual se li passa una quantitat de jornades i ha d'inserir tantes jornades com diga eixe número. La data no es posarà i el número de les jornades serà correlatiu a l'última jornada que hi ha guardada en la taula de jornades. A continuació, crida al procediment per a inserir 10 jornades. Comprova que s'han creat bé.
5. Funció tipusJugador, que li passes un jugador (dorsal i equip) i retorna una paraula depenent dels gols marcats. Si 0 gols, 'cono'; entre 1 i 10 'normal'; entre 11 i 20 'bo'; entre 20 i 30 'crack'; i més de 30 'megacrack'. Fes-ho amb l'estructura del CASE. A continuació (usant una crida a la funció):
- a) Mostra de cada jugador del Barça el nom i el tipus de jugador que és.
- b) Mostra els megacracks de la lliga: nom del jugador i nom curt del seu equip.
- c) Mostra quants megacracks té cada equip.
6. Funció quantsJugadors que li passes com a paràmetre el codi d'un equip i retorna la quantitat de jugadors d'eixe equip. Després, mitjançant crides a eixa funció, fes els següents problemes:
- a) Mostra la quantitat de jugadors del Barça.
- b) Mostra de cada equip de més de 25 jugadors: el codi, el nom curt i la quantitat de jugadors que té.
- c) Modifica la taula d'equips. Cal incrementar un 10% el pressupost dels equips que tenen més de 25 jugadors.
- d) Modifica la taula d'equips. Cal incrementar 1000 euros de pressupost per cada jugador que tinguen.
- e) Esborra els equips que no tinguen jugadors.