Los disparadores o “triggers” son procedimientos almacenados en una base de datos que se activan automáticamente cuando se produce un evento determinado, como insertar, actualizar o eliminar datos en una tabla específica.
Aquí se explica cómo crear un disparador en MariaDB:
1. Primero, debes usar la declaración CREATE TRIGGER.
Aquí está el esquema básico de esta declaración:
```sql
CREATE TRIGGER trigger_name trigger_time trigger_event
ON table_name
FOR EACH ROW
trigger_body;
```
- trigger_name es el nombre que quieres darle a tu disparador.
- trigger_time es cuándo quieres que se active el disparador, que puede ser antes (BEFORE) o después (AFTER) de que ocurra el evento.
- trigger_event es el evento que activa el disparador. Puede ser una inserción (INSERT), una actualización (UPDATE), o una eliminación (DELETE).
- table_name es el nombre de la tabla en la que ocurre el evento.
- trigger_body es el código SQL que deseas que se ejecute cuando se active el disparador.
2. Aquí está un ejemplo de cómo podría verse un disparador. En este caso, el disparador se activará después de que se inserte un nuevo registro en la tabla “orders”. El código en el cuerpo del disparador actualizará la tabla “inventory” para reflejar el nuevo pedido.
```sql
CREATE TRIGGER after_order_insert
AFTER INSERT
ON orders
FOR EACH ROW
BEGIN
UPDATE inventory
SET quantity = quantity – NEW.quantity
WHERE product_id = NEW.product_id;
END;
```
En este ejemplo, “NEW” es una palabra clave especial que puedes usar en un disparador. Se refiere al conjunto de columnas que se están insertando o actualizando.
3. Puedes ver tus disparadores existentes con el comando SHOW TRIGGERS.
```sql
SHOW TRIGGERS;
```
Recuerda que los disparadores se ejecutan automáticamente y son invisibles para los usuarios. Deben ser administrados por un DBA o un desarrollador con un buen conocimiento de la estructura de la base de datos y el SQL. Además, los disparadores pueden ser una gran herramienta, pero también pueden ralentizar tu base de datos si no se usan correctamente.