typestar

Un trigger que lleva un registro en SQL

Un trigger es una sentencia que la base de datos corre por ti en cada escritura.

CREATE TABLE order_audit (
    id INTEGER PRIMARY KEY,
    order_id INTEGER NOT NULL,
    action TEXT NOT NULL,
    logged_at TEXT NOT NULL DEFAULT CURRENT_TIMESTAMP
);

CREATE TRIGGER orders_insert_audit
AFTER INSERT ON orders
FOR EACH ROW
BEGIN
    INSERT INTO order_audit (order_id, action)
    VALUES (NEW.id, 'created');
END;

Cómo funciona

  1. AFTER INSERT se dispara una vez por fila, con NEW ligado a esa fila.
  2. FOR EACH ROW es la única granularidad que ofrece SQLite.
  3. Un trigger es una escritura oculta, así que mantenlo pequeño y aburrido.

Palabras clave y builtins usados aquí

El intento, en números

Líneas
14
Caracteres a escribir
306
Tokens
57
Ritmo de tres estrellas
90 tpm

Al ritmo de tres estrellas de 90 tokens por minuto, este intento toma unos 38 segundos.

Escribe este fragmento

Paso 1 de 2 en Triggers; paso 8 de 16 en Esquema y restricciones.

← Anterior Siguiente →