1. Bases de datos relacionales

1.15. Triggers, procedimientos y funciones

La mayoría de bases de datos relacionales ofrecen la posibilidad de almacenar subprogramas. Se denominan funciones, procedimientos y triggers o disparadores, y son muy útiles para automatizar tareas y guardar instrucciones SQL que se tienen que utilizar frecuentemente. Son objetos que contienen código SQL, cómo breves scripts de código SQL, que pueden aceptar parámetros y declarar variables.

Se asigna un nombre al subprograma y se ejecuta para que quede almacenado en la base de datos. Después lo podemos invocar o llamar por su nombre porque se ejecute el código almacenado en los subprogramas.

  • Procedimiento almacenado. Es un objeto que se crea con la sentencia CREATE PROCEDURE y se invoca con la sentencia CALL. Los procedimientos pueden aceptar parámetros y no hacen ningún retorno, es decir, no devuelven ningún valor.
  • Función almacenada. Es un objeto que se crea con la sentencia CREATE FUNCTION y se invoca con la sentencia SELECT o dentro de una expresión. Las funciones pueden aceptar parámetros y devuelven siempre un valor. Este valor devuelto puede ser un valor nulo y en este caso se comportaría como un procedimiento.
  • Trigger. Es un objeto que se crea con la sentencia CREATE TRIGGER y tiene que estar asociado a una tabla. Un trigger se activa, se dispara, cuando ocurre un evento de inserción, actualización o borrado, sobre la tabla a la que está asociado.

Veamos algunos ejemplos: