Saltar al contenido

¿Qué es un trigger y para qué se utiliza?

Ejemplo de disparador Sql

¿Alguna vez te has registrado en algún sitio web utilizando tu Gmail? Por supuesto que sí. A veces, cuando te registras, recibes automáticamente un correo de bienvenida en tu Gmail del tipo «Hola, gracias por registrarte en XYZ». ¿Cómo ocurre esto? Una posibilidad es que se hayan utilizado los activadores. Cada vez que se introducen los datos de un nuevo usuario en la base de datos del sitio web, el disparador envía automáticamente un correo de bienvenida al nuevo usuario. Espero que ahora tengas la idea básica de los triggers. Pero, ¿qué son exactamente estos disparadores? En este blog, vamos a aprender sobre los Triggers en DBMS. Así que, empecemos.TriggersTriggers son las sentencias SQL que se ejecutan automáticamente cuando hay algún cambio en la base de datos. Los triggers se ejecutan en respuesta a ciertos eventos (INSERT, UPDATE o DELETE) en una tabla particular. Estos disparadores ayudan a mantener la integridad de los datos cambiando los datos de la base de datos de forma sistemática. Sintaxiscrear disparador Nombre_del_disparador

SET new.Marks = new.Marks + 100;La palabra clave new se refiere a la fila que está siendo afectada.Después de crear el disparador, escribiremos la consulta para insertar un nuevo estudiante en la base de datos.INSERT INTO Student(Name, Address, Marks) VALUES(‘Alizeh’, ‘Maldives’, 110);La columna Student_id es un campo de autoincremento y se generará automáticamente cuando se inserte un nuevo registro en la tabla.Para ver el resultado final la consulta sería:SELECT * FROM Student;

Ejemplo de trigger en dbms

Los disparadores se utilizan para diferentes propósitos y son especialmente demandados en las campañas de marketing online (disparadores de correo electrónico, disparadores de generación de clientes potenciales). Las soluciones basadas en triggers ayudan a crear procesos automatizados innovadores para una serie de actividades.

El término «trigger» se asocia a las actividades del SGBD (Sistema de Gestión de Bases de Datos). Cabe destacar que los triggers no pueden ser modificados, eliminados, ejecutados o gestionados sin el permiso del SGBD. El Sistema de Gestión de Bases de Datos es responsable de los triggers como los procedimientos especiales de SQL.

En términos simples, los triggers son versiones específicas de diferentes acciones que suceden en respuesta a un evento ocurrido. Los desencadenantes ayudan a automatizar acciones específicas predecibles y hacen que las reacciones sean más rápidas y específicas.

Un ejemplo clásico de un desencadenante sería un clic en un enlace: cuando el destinatario de una campaña de correo electrónico hace clic en un enlace en un correo electrónico, activa un desencadenante y ahora recibirá un seguimiento específico de su acción desencadenante que será diferente del que recibiría si ignorara el correo electrónico.

Eventos realizados en desencadenantes

Este capítulo trata de los triggers, que son procedimientos almacenados en PL/SQL o Java que se ejecutan (disparan) implícitamente cada vez que se modifica una tabla o vista o cuando se producen algunas acciones del usuario o del sistema de la base de datos.

La Figura 22-1 muestra una aplicación de base de datos con algunas sentencias SQL que disparan implícitamente varios triggers almacenados en la base de datos. Obsérvese que la base de datos almacena los triggers por separado de sus tablas asociadas.

Aunque los triggers son útiles para personalizar una base de datos, utilícelos sólo cuando sea necesario. El uso excesivo de triggers puede dar lugar a interdependencias complejas, que pueden ser difíciles de mantener en una aplicación grande. Por ejemplo, cuando un trigger se dispara, una sentencia SQL dentro de su acción de trigger puede potencialmente disparar otros triggers, resultando en triggers en cascada. Esto puede producir efectos no deseados. La Figura 22-2 ilustra los disparadores en cascada.

Esta sentencia significa que cuando la columna parts_on_hand de una fila de la tabla de inventario se actualiza, dispara el trigger. Cuando el evento desencadenante es una sentencia UPDATE, puede incluir una lista de columnas para identificar qué columnas deben actualizarse para disparar el desencadenante. No puede especificar una lista de columnas para las sentencias INSERT y DELETE, porque afectan a filas enteras de información.

Tipos de trigger en dbms

Crea un trigger DML, DDL o de inicio de sesión. Un trigger es un tipo especial de procedimiento almacenado que se ejecuta automáticamente cuando se produce un evento en el servidor de la base de datos. Los disparadores DML se ejecutan cuando un usuario intenta modificar datos a través de un evento de lenguaje de manipulación de datos (DML). Los eventos DML son sentencias INSERT, UPDATE o DELETE en una tabla o vista. Estos desencadenantes se disparan cuando se dispara cualquier evento válido, independientemente de que las filas de la tabla se vean afectadas o no. Para obtener más información, consulte Disparadores DML.

Los desencadenantes DDL se ejecutan en respuesta a una serie de eventos del lenguaje de definición de datos (DDL). Estos eventos corresponden principalmente a las sentencias CREATE, ALTER y DROP de Transact-SQL y a determinados procedimientos almacenados del sistema que realizan operaciones similares a las de DDL.

La tabla o vista en la que se ejecuta el activador DML. Esta tabla o vista se denomina a veces tabla de activación o vista de activación. Especificar el nombre completo de la tabla o vista es opcional. Sólo se puede hacer referencia a una vista mediante un trigger INSTEAD OF. No se pueden definir disparadores DML en tablas temporales locales o globales.

Esta web utiliza cookies propias para su correcto funcionamiento. Al hacer clic en el botón Aceptar, acepta el uso de estas tecnologías y el procesamiento de tus datos para estos propósitos. Más información
Privacidad