1. Bases de dades relacionals

1.15. Triggers, procediments i funcions

La majoria de bases de dades relacionals ofereixen la possibilitat d’emmagatzemar subprogrames. Es denominen funcions, procediments i triggers o disparadors, i són molt útils per automatitzar tasques i guardar instruccions SQL que s’han d’utilitzar freqüentment. Són objectes que contenen codi SQL, com breus scripts de codi SQL, que poden acceptar paràmetres i declarar variables.

S’assigna un nom al subprograma i s’executa perquè quedi emmagatzemat a la base de dades. Després el podem invocar o cridar pel seu nom perquè s’executi el codi emmagatzemat en els subprogrames.

  • Procediment emmagatzemat. És un objecte que es crea amb la sentència CREATE PROCEDURE i s’invoca amb la sentència CALL. Els procediments poden acceptar paràmetres i no fan cap retorn, és a dir, no retornen cap
  • Funció emmagatzemada. És un objecte que es crea amb la sentència CREATE FUNCTION i s’invoca amb la sentència SELECT o dins d’una expressió. Les funcions poden acceptar paràmetres i retornen sempre un valor. Aquest valor retornat pot ser un valor nul i en aquest cas es comportaria com un procediment.
  • Trigger. És un objecte que es crea amb la sentència CREATE TRIGGER i ha d’estar associat a una taula. Un trigger s’activa, es dispara, quan ocorre un esdeveniment d’inserció, actualització o esborrat, sobre la taula a la qual està associat.

Vegem-ne alguns exemples: