Sobes.tech
Junior

Mi az a trigger?

sobes.tech MI

Válasz az MI-től

A trigger egy speciális tárolt eljárás az adatbázisban, amely automatikusan végrehajtódik, amikor egy adott esemény bekövetkezik.

A trigger-eket általában a következő események váltják ki:

  • INSERT: új sorok hozzáadása a táblához.
  • UPDATE: meglévő sorok módosítása a táblában.
  • DELETE: sorok törlése a táblából.

A trigger-ek különböző időpontokban aktiválódhatnak az eseményhez képest:

  • BEFORE: az esemény végrehajtása előtt.
  • AFTER: az esemény végrehajtása után.
  • INSTEAD OF: az esemény végrehajtása helyett (gyakran nézetekkel együtt használják).

A trigger-ek használatának példái:

  1. Az adatok integritásának fenntartása: automatikus ellenőrzés vagy módosítás az adatbevitelnél vagy frissítésnél.
  2. Auditálás: információk rögzítése az adatmódosításokról egy külön napló táblában.
  3. Adatszinkronizálás: automatikus kapcsolódó táblák frissítése.
  4. Összetett üzleti szabályok végrehajtása: további műveletek indítása bizonyos feltételek mellett.

A trigger-ek a táblaszinten vannak definiálva, és hivatkozhatnak a módosított sor régi és új értékeire.

-- Szintaxis példa (SQL)
CREATE TRIGGER audit_log
AFTER INSERT ON users
FOR EACH ROW
BEGIN
    INSERT INTO audit (user_id, action, timestamp)
    VALUES (NEW.id, 'insert', NOW());
END;

Fontos, hogy óvatosan használjuk a trigger-eket, mivel nehezíthetik a hibakeresést és befolyásolhatják az adatbázis teljesítményét.