SQL

Qué es un Trigger o Desencadenador

Estrada Web Group
Administrador
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 artículo:

Más artículos geniales

Cómo eliminar columnas de una tabla en SQL Server con ALTER TABLE y DROP COLUMN

Cómo eliminar columnas de una tabla en SQL Server con ALTER TABLE y DROP COLUMN

Resumen: en este tutorial, aprenderás cómo usar la declaración de columna ALTER TABLE DROP COLUMN de SQL Server para eliminar una o más columnas de una tabla existente.

Ver artículo completo
Qué es un trigger o desencadenador y cómo crearlo?

Qué es un trigger o desencadenador y cómo crearlo?

En este artículo veremos ¿qué es un trigger? es una clase especial de procedimiento almacenado que se ejecuta automáticamente cuando se produce un evento en el servidor de bases de datos.

Ver artículo completo
Cómo obtener el número de caracteres de una cadena en SQL Server con la función LEN()

Cómo obtener el número de caracteres de una cadena en SQL Server con la función LEN()

En este tutorial, aprenderá cómo usar la función LEN() de SQL Server para obtener la cantidad de caracteres de una cadena.

Ver artículo completo

Manténgase actualizado

Obtenga excelente contenido en su bandeja de entrada todas las semanas.
Solo contenido excelente, no compartimos su correo electrónico con terceros.
Subir al inicio de la pantalla ;