Qué es un Trigger o Desencadenador

Qué es un Trigger o Desencadenador

Un trigger o desencadenador en una Base de datos, es un procedimiento que se ejecuta cuando se cumple una condición establecida al realizar una operación. Dependiendo de la base de datos, los triggers pueden ser de inserción (INSERT), actualización (UPDATE) o borrado (DELETE). Algunas bases de datos pueden ejecutar triggers al crear, borrar o editar usuarios, tablas, bases de datos y otros objetos.

Características de los triggers:

  • Se definen para una tabla (o vista) específica.
  • Se crean para conservar la integridad referencial y la coherencia entre los datos entre distintas tablas.
  • Si se intenta modificar (agregar, actualizar o eliminar) datos de una tabla en la que se definió un trigger para alguna de estas acciones (inserción, actualización y eliminación), el trigger se ejecuta (se dispara) en forma automática.
  • Un trigger se asocia a un evento (inserción, actualización o borrado) sobre una tabla.
  • La diferencia con los procedimientos almacenados del sistema es que los triggers:
    • no pueden ser invocados directamente; al intentar modificar los datos de una tabla para la que se ha definido un disparador, el disparador se ejecuta automáticamente.
    • no reciben y retornan parámetros.
    • son apropiados para mantener la integridad de los datos, no para obtener resultados de consultas.
  • Los triggers pueden realizar cambios en cascada mediante tablas relacionadas de la base de datos; sin embargo, estos cambios pueden ejecutarse de manera más eficaz con restricciones de integridad referencial en cascada. Las restricciones llaves foráneas (FOREIGN KEY) solo pueden validar un valor de columna si coinciden exactamente con un valor de otra columna, a menos que la cláusula REFERENCES defina una acción referencial en cascada.
  • Varios triggers del mismo tipo (INSERT, UPDATE o DELETE) en una tabla permiten realizar distintas acciones en respuesta a una misma instrucción de modificación.

Tipos de trigger que existen

  • AFTER triggers.

Los triggers AFTER se ejecutan después de llevar a cabo una acción de las instrucciones INSERT, UPDATE, MERGE o DELETE. Los triggers AFTER no se ejecutan nunca si se produce una infracción de restricción; por tanto, no se puede usar estos triggers para ningún procesamiento que pueda impedir infracciones de restricciones. Para cada acción INSERT, UPDATE o DELETE especificada en una instrucción MERGE, se activa el triggers correspondiente para cada operación.

  • INSTEAD OF triggers

Los triggers INSTEAD OF pasan por alto las acciones estándar de la instrucción de desencadenamiento. Por lo tanto, se pueden usar para realizar comprobación de errores o valores en una o más columnas y, a continuación, realizar acciones adicionales antes de insertar, actualizar o eliminar la fila o las filas. Por ejemplo, cuando el valor que se actualiza en una columna de tarifa de una hora de trabajo de una tabla de nómina supera un valor específico, se puede definir un trigger para producir un error y revertir la transacción, o insertar un nuevo registro en un registro de auditoría antes de insertar el registro en la tabla de nómina. La principal ventaja de los triggers INSTEAD OF es que habilitan las vistas que no serían actualizables para admitir actualizaciones. Por ejemplo, las vistas que contengan varias tablas base deben usar un trigger INSTEAD OF para permitir inserciones, actualizaciones y eliminaciones que hagan referencia a datos de más de una tabla. Otra ventaja de los triggers INSTEAD OF es que permiten codificar la lógica para rechazar partes de un lote y, al mismo tiempo, aceptar otras partes del mismo.

Los triggers se crean con la instrucción "create trigger". Esta instrucción especifica la tabla en la que se define el disparador, los eventos para los que se ejecuta y las instrucciones que contiene.

En el siguiente artículo puedes ver Cómo crear triggers.

!!Te agradecería que nos dejaras tus comentarios

Compartir

Comentarios (0)

Animate deja un comentario!!!

Eres un humano?

Últimos Tweets

Contáctanos

  • Dirección: Plutarco Elias Calles 243, Granjas México, Iztacalco, DF.

  • Teléfono:55-2712-3820 o 55-4164-9484

  • Email: info@developerji.com