Los triggers en una Base de Datos supervisan a la misma y son activados siempre que se cumpla cierta condición, esta puede ser INSERT, UPDATE o DELETE y la función del trigger se puede lanzar antes o después de ser hecha la operación.
El esqueleto para crear un trigger es el siguiente:
CREATE TRIGGER <nombre> <tiempo de acción>
<operación> ON <nombre de la tabla supervisada>
REFERENCING <datos anteriores/nuevos> <rango de acción>
BEGIN ATOMIC
<cuerpo de trigger>
END@
Donde:
<nombre> = nombre del trigger.
<tiempo de acción> = AFTER | BEFORE | INSTEAD OF
<operación> = INSERT | UPDATE | DELETE
Nota: Si se va a utilizar la operación UPDATE se debe indicar la columna de la siguiente manera: UPDATE OF <lista de nombres columna> .
<nombre de la tabla> = tabla vigilada
<datos anteriores/nuevos>=
OLD TABLE <nombre tabla> |
NEW TABLE <nombre tabla> |
OLD <nombre de variable>
<rango de acción> = FOR EACH ROW | FOR EACH STATEMENT
<cuerpo de trigger>= Acciones a realizar en el trigger, se incluyen las operaciones SQL las cuales se harán al activarse el trigger.
Ejemplo:
CREATE TRIGGER historial
AFTER UPDATE OF consultas ON fecha_actual
REFERENCING NEW AS fecha_nueva
FOR EACH ROW
BEGIN ATOMIC
INSERT INTO historial_consultas
VALUES (fecha_nueva.registro, fecha_nueva.nombre, CURRENT TIMESTAMP);
END@