Salta el contingut

DAM - DAW - MP 0484 Bases de Dades - NF5

Procediments i Funcions

Els procediments i les funcions són blocs de codi amb nom que es coneixen com a subprogrames. Aquests subprogrames es compilen i s'emmagatzemen a la base de dades.

L'estructura de blocs dels subprogrames és similar a l'estructura dels blocs anònims.

Tot i que els subprogrames es poden compartir explícitament, el valor predeterminat és fer-los privats per a l'esquema del propietari.

La informació al diccionari de dades sobre les funcions i procediments les trobem a la taula information_schema.routines.

La diferència bàsica entre un procediment i un bloc anònim, és que el procediment tindrà una comanda CREATE PROCEDURE que permet donar-li un nom i definir una sèrie de paràmetres que podrem utilitzar dins el codi com si fossin variables locals.

  • Aquests paràmetres poden ser d’entrada (IN),
  • de sortida (OUT) o
  • d’entrada i sortida (INOUT).

Les funcions es creen amb la comanda CREATE FUNCTION. A diferència dels procediments, retornen un valor d'un tipus especificat. CREATE FUNCTION permet donar un nom a la funció i definir una sèrie de paràmetres que podrem utilitzar dins el codi com si fossin variables locals.

Aquests paràmetres, en el cas de les funcions, només poden ser d’entrada (IN), excepte si es criden en una instrucció SET, a partir de la versió 10.8.0 de MariaDB.

Diccionari de dades

Per a consultar les rutines al diccionari de dades cal referir-nos a la taula INFORMATION_SCHEMA.ROUTINES.

Utilitza la comanda SHOW CREATE PROCEDURE i SHOW CREATE FUNCTION per veure’n la definició.

Utilitza la comanda SHOW PROCEDURE STATUS i SHOW FUNCTION STATUS per veure les característiques de les rutines.