Saltar al contenido

Triggers en sql

diciembre 27, 2021
Triggers en sql

Uso de triggers en sql

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.

Ejemplos de triggers en sql

Podemos disparar triggers después de una sentencia SQL para realizar una tarea específica. Un trigger es un conjunto de sentencias SQL definidas para realizar una tarea específica que se puede disparar después de un determinado evento. En este tutorial, discutiremos el trigger de SQL Server después de la inserción con algunos ejemplos.

Los disparadores pueden ser creados en las tablas. Puede haber múltiples disparadores creados en una tabla. Discutiremos algunos casos de uso y ejemplos de triggers. Veremos cómo se pueden crear triggers en la tabla.

Utilizamos la sentencia CREATE TRIGGER para crear un trigger. Especificamos el nombre de la tabla, el tipo de trigger, es decir, Before o After. Esto significa que el trigger se disparará antes o después del evento. Utilizamos la siguiente sintaxis general:

El disparador insertará un nuevo registro en la tabla Nombres con una condición. La condición comprobará si el registro ya está en la tabla Nombres o no. Si el registro no está ya en la tabla, insertará una nueva fila, de lo contrario, no insertará una nueva fila en la tabla.

Cuando se insertan algunos registros en una tabla, es posible que se quiera insertar esos valores en otra tabla para mantener los registros o por otras razones también. Un buen enfoque es utilizar un procedimiento almacenado separado en lugar de escribir todo el conjunto de sentencias SQL dentro de un trigger.

Cómo ver triggers en sql

Un trigger en SQL es un objeto de base de datos como un procedimiento almacenado o podemos decir que es un tipo especial de Stored Procedure que se dispara automáticamente cuando se produce un evento en una base de datos. Aprende qué es un trigger en SQL Server y cómo crear triggers en una tabla de base de datos.

Un trigger SQL es un objeto de base de datos que se dispara cuando se produce un evento en la base de datos. Podemos ejecutar una consulta SQL que «hará algo» en una base de datos cuando se produzca un cambio en una tabla de la base de datos, como la inserción, actualización o eliminación de un registro. Por ejemplo, se puede establecer un disparador al insertar un registro en una tabla de la base de datos. Por ejemplo, si se quiere aumentar el recuento de blogs en la tabla Informes cuando se inserta un nuevo registro en la tabla Blogs, podemos crear un disparador en la tabla Blogs en INSERT y actualizar la tabla Informes aumentando el recuento de blogs a 1.

Los desencadenantes DDL se disparan en respuesta a eventos de comandos DDL (Data Definition Language) que empiezan por Create, Alter y Drop, como Create_table, Create_view, drop_table, Drop_view y Alter_table.

Triggers en sql server con ejemplo en tiempo real

Los triggers de SQL Server son un tema tanto de funcionalidad como de controversia en cualquier plataforma de base de datos. Pueden proporcionar una inmensa utilidad a un bajo coste, pero a menudo son mal utilizados por los desarrolladores, DBAs y arquitectos por igual, lo que resulta en cuellos de botella de rendimiento o problemas de mantenimiento.

Este artículo revisa brevemente los triggers DML (lenguaje de manipulación de datos) y se adentra en una discusión sobre cómo los triggers pueden ser utilizados de forma eficiente y efectiva, así como cuándo los triggers pueden meter a los desarrolladores en agujeros de los que es difícil escapar.

Aunque todas las demostraciones de este artículo son en SQL Server, los consejos que se presentan aquí son universales en todas las plataformas de bases de datos. Los retos que plantean los triggers también se ven en MySQL, PostgreSQL, MongoDB y muchos otros.

Los triggers de SQL Server pueden definirse en el servidor, en la base de datos o en la tabla y permiten que el código se ejecute automáticamente cuando se producen acciones específicas. Este artículo se centra en los desencadenantes DML en las tablas, ya que tienden a soportar la mayor parte del uso excesivo. En cambio, los disparadores DDL (lenguaje de definición de datos) en la base de datos o el servidor suelen estar más centrados y son menos perjudiciales para el rendimiento.

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