0% encontró este documento útil (0 votos)
47 vistas5 páginas

Trigger

Un trigger es un objeto de base de datos que se ejecuta automáticamente en respuesta a eventos como la inserción, actualización o eliminación de datos en una tabla. Se definen para una tabla y se asocian a eventos específicos. Cuando ocurre un evento, el trigger ejecuta instrucciones SQL predefinidas. Los ejemplos incluyen triggers para actualizar fechas en una tabla Facturas después de inserciones, mantener registros de acciones sobre una tabla Empleados, e insertar datos eliminados en otra tabla.

Cargado por

gabriel isaias
Derechos de autor
© © All Rights Reserved
Nos tomamos en serio los derechos de los contenidos. Si sospechas que se trata de tu contenido, reclámalo aquí.
Formatos disponibles
Descarga como DOCX, PDF, TXT o lee en línea desde Scribd
0% encontró este documento útil (0 votos)
47 vistas5 páginas

Trigger

Un trigger es un objeto de base de datos que se ejecuta automáticamente en respuesta a eventos como la inserción, actualización o eliminación de datos en una tabla. Se definen para una tabla y se asocian a eventos específicos. Cuando ocurre un evento, el trigger ejecuta instrucciones SQL predefinidas. Los ejemplos incluyen triggers para actualizar fechas en una tabla Facturas después de inserciones, mantener registros de acciones sobre una tabla Empleados, e insertar datos eliminados en otra tabla.

Cargado por

gabriel isaias
Derechos de autor
© © All Rights Reserved
Nos tomamos en serio los derechos de los contenidos. Si sospechas que se trata de tu contenido, reclámalo aquí.
Formatos disponibles
Descarga como DOCX, PDF, TXT o lee en línea desde Scribd

Que es un trigger, para que sirve, donde se aplica.

En SQL, un trigger (disparador) es un objeto de base de datos que se utiliza para


ejecutar una acción o un conjunto de acciones automáticamente en respuesta a ciertos
eventos o cambios en una tabla de base de datos.
Un trigger se define en una tabla y se asocia a uno o más eventos específicos, como la
inserción, actualización o eliminación de filas en la tabla. Cuando ocurre un evento
específico, el trigger se activa automáticamente y ejecuta un conjunto de instrucciones
SQL definidas por el programador.

Crea un trigger para evento insert en la tabla considerada la principal


de tu base de datos

CREATE TRIGGER trigger_insert_facturas


ON Factura
AFTER INSERT
AS
BEGIN
-- aquí es donde colocarías las instrucciones SQL que deseas ejecutar en respuesta
al evento INSERT
UPDATE Factura SET fecha = GETDATE() WHERE id_factura = (SELECT id_factura
FROM inserted);
END;
Crea un trigger para evento delete en la tabla Hotel de animales.

CREATE TRIGGER trigger_delete_animales


ON Animales
AFTER DELETE
AS
BEGIN
-- aquí es donde colocarías las instrucciones SQL que deseas ejecutar en respuesta
al evento DELETE
INSERT INTO Animales(Animal_id, Raza, Especie)
SELECT deleted.Animal_id, GETDATE(), 'Eliminado' FROM deleted;
END;
Crea un trigger para 3 eventos: insert, update y delete para una tabla
diferente a las usadas anteriormente,

CREATE TRIGGER trigger_empleados


ON Empleados
AFTER INSERT, UPDATE, DELETE
AS
BEGIN
-- aquí es donde colocarías las instrucciones SQL que deseas ejecutar en respuesta
a los eventos INSERT, UPDATE y DELETE
IF EXISTS (SELECT * FROM inserted)
BEGIN
INSERT INTO Empleados(ID_Empleados, Nombre, Salario)
SELECT ID_Empleados, GETDATE(), 'Insertado' FROM inserted;
END

IF EXISTS (SELECT * FROM deleted)


BEGIN
INSERT INTO Empleados(ID_Empleados, Nombre, Salario)
SELECT ID_Empleados, GETDATE(), 'Eliminado' FROM deleted;
END

IF EXISTS (SELECT * FROM inserted i INNER JOIN deleted d ON i.ID_Empleados =


d.ID_Empleados)
BEGIN
INSERT INTO Empleados(ID_Empleados, Nombre, Salario)
SELECT i.ID_Empleados, GETDATE(), 'Actualizado' FROM inserted i INNER JOIN
deleted d ON i.ID_Empleados = d.ID_Empleados;
END
END;

Explique en que consisten los 3 disparadores creados, (amplio en


su explicación)

Se crearon tres triggers en esta tarea, uno para el evento "INSERT" en la tabla
"Facturas", otro para los eventos "INSERT", "UPDATE" y "DELETE" en la tabla
"Empleados", y uno más para el evento "DELETE" en la tabla "Zoológico-Animales". A
continuación, se explica en qué consisten cada uno de ellos:
1. Trigger para el evento "INSERT" en la tabla "Facturas": Este trigger se activa
después de que se inserta un nuevo registro en la tabla "Facturas". En este
caso, el trigger inserta un nuevo registro en la tabla "Factura" con el mismo valor
del campo "id_factura" del registro insertado y la fecha actual. Este trigger puede
ser útil si se desea mantener un registro de las facturas emitidas, junto con su
fecha de emisión.
2. Trigger para los eventos "INSERT", "UPDATE" y "DELETE" en la tabla
"Empleados": Este trigger se activa después de que se inserta, actualiza o
elimina un registro en la tabla "Empleados". En el caso de una inserción, el
trigger inserta un nuevo registro en la tabla "Empleados" con el mismo valor del
campo "ID_Empleados" y la fecha actual en el campo "Nombre". En el caso de
una actualización, el trigger actualiza el campo "Nombre" del registro modificado
con la fecha actual. Y en el caso de una eliminación, el trigger inserta un nuevo
registro en la tabla "EmpleadosEliminados" con los mismos valores que el
registro eliminado. Este trigger puede ser útil si se desea mantener un registro
de las acciones realizadas sobre la tabla "Empleados".
3. Trigger para el evento "DELETE" en la tabla "Zoológico-Animales": Este trigger
se activa después de que se elimina un registro en la tabla "Zoológico-
Animales". En este caso, el trigger inserta un nuevo registro en la tabla
"AnimalesEliminados" con los mismos valores que el registro eliminado. Este
trigger puede ser útil si se desea mantener un registro de los animales que se
han eliminado de la base de datos.

En resumen, los tres triggers creados son herramientas que permiten automatizar
acciones en la base de datos en respuesta a ciertos eventos. Cada trigger se activa en
respuesta a un evento específico y ejecuta una o varias instrucciones SQL en
respuesta a ese evento. Los triggers pueden ser útiles para mantener registros, realizar
auditorías, aplicar reglas de negocio, entre otros usos. Es importante tener cuidado al
crear triggers para asegurarse de que no afecten negativamente el rendimiento o la
integridad de la base de datos.

Inhabilite los 2 primeros triggers.

DISABLE TRIGGER trigger_insert_facturas ON Factura;


DISABLE TRIGGER trigger_delete_animales ON Animales;

También podría gustarte