









Prepara tus exámenes y mejora tus resultados gracias a la gran cantidad de recursos disponibles en Docsity
Gana puntos ayudando a otros estudiantes o consíguelos activando un Plan Premium
Prepara tus exámenes
Prepara tus exámenes y mejora tus resultados gracias a la gran cantidad de recursos disponibles en Docsity
Prepara tus exámenes con los documentos que comparten otros estudiantes como tú en Docsity
Los mejores documentos en venta realizados por estudiantes que han terminado sus estudios
Estudia con lecciones y exámenes resueltos basados en los programas académicos de las mejores universidades
Responde a preguntas de exámenes reales y pon a prueba tu preparación
Consigue puntos base para descargar
Gana puntos ayudando a otros estudiantes o consíguelos activando un Plan Premium
Comunidad
Pide ayuda a la comunidad y resuelve tus dudas de estudio
Descubre las mejores universidades de tu país según los usuarios de Docsity
Ebooks gratuitos
Descarga nuestras guías gratuitas sobre técnicas de estudio, métodos para controlar la ansiedad y consejos para la tesis preparadas por los tutores de Docsity
1. Introducción a los triggers. • Qué son y cuándo se usan. • Tipos de triggers (Before, After, Instead Of). 2. Crear y gestionar triggers. • Triggers en eventos DML (INSERT, UPDATE, DELETE). • Triggers en eventos DDL (CREATE, ALTER, DROP). 3. Casos prácticos: Control y auditoría con triggers. Ejercicio: Crear un trigger que registre automáticamente las operaciones de inserción en una tabla de auditoría.
Tipo: Apuntes
1 / 16
Esta página no es visible en la vista previa
¡No te pierdas las partes importantes!
Triggers (disparadores)
Auditoría: Registrar cambios en las tablas.
Automatización: Generar valores, realizar validaciones, o actualizar otras tablas
automáticamente.
Control de datos: Prevenir modificaciones no autorizadas o realizar validaciones
personalizadas.
Según el alcance del evento:
Fila a fila (FOR EACH ROW): Se ejecuta una vez por cada fila afectada por la
operación.
Por sentencia (Statement level): Se ejecuta una vez por cada operación,
independientemente de cuántas filas se vean afectadas.
Ejemplo básico de trigger DML: Auditoría de inserciones
Vamos a crear un trigger que registre automáticamente las operaciones de
inserción en una tabla de auditoría. Utilizaremos estas dos tablas para nuestro
ejemplo.
Crea un trigger llamado
trigger_auditoria_inserciones
El trigger se aplica después de una inserción en
la tabla tabla_empleados
El trigger se aplica a cada fila
insertada
Inserta un nuevo registro en la tabla
auditoria_empleados
Se obtiene el próximo valor de la secuencia
Utiliza el valor del id_empleado recién insertado en
tabla_empleados
Registra la operación como ‘Inserción’
Registra la fecha de la operación con
Hacemos un instert en la
tabla_empleados
Utilizamos un select donde
comprobamos que nuestro insert fue
efectivo
Con el select en la tabla
auditoria_empleados comprobamos que el
trigger funciono
Caso 1: Validar antes de una inserción (BEFORE)
Ahora cada vez que insertamos un nuevo empleado y su salario sea menor a 1000
nos saldrá un mensaje de error
Caso 2: Registrar operaciones DML en una tabla (AFTER INSERT/UPDATE/DELETE)
Registrar todas las operaciones realizadas sobré una tabla:
Crea un trigger llamado trigger_auditorial_dml
El trigger se dispara después de un insert, update
o delete
Indica que el trigger se ejecutara una vez por cada fila que se inserte, actualice o borre
en la tabla tabla_empleados
Inserta un registro en la tabla auditoria_empleados
cada vez que se inserte en la tabla
Verifica si la operación es una
actualización
Verifica si la operación es una
eliminación
Inserta un registro en la tabla auditoria_empleados
cada vez que se actualice en la tabla
Inserta un registro en la tabla auditoria_empleados
cada vez que se elimine un registro en la tabla
La idea es que crees una tabla de productos y una donde se hagan los
registro de los trigger, puedes usar una secuencia para facilitarte las
cosas, pero lo mas importante es que tus trigger sean para diferentes
operaciones, como que los precios de producto no sean 0, o que haya un
trigger cuando se inserte un producto nuevo, por su puesto probar los
mismos verificando que se hayan registrado correctamente.