Sobes.tech
Junior

Co je to trigger?

sobes.tech AI

Odpověď od AI

Spouštěč je speciální uložená procedura v databázi, která se automaticky spouští při výskytu určité události.

Události, které spouštěče obvykle aktivují, zahrnují:

  • INSERT: přidání nových řádků do tabulky.
  • UPDATE: změna stávajících řádků v tabulce.
  • DELETE: odstranění řádků z tabulky.

Spouštěče mohou být aktivovány v různých časech vzhledem k události:

  • BEFORE: před provedením události.
  • AFTER: po provedení události.
  • INSTEAD OF: místo provedení události (často se používá s pohledy).

Příklady použití spouštěčů:

  1. Udržování integrity dat: automatická kontrola nebo úprava dat při vkládání/aktualizaci.
  2. Audit: zaznamenávání informací o změnách dat do samostatné tabulky logů.
  3. Synchronizace dat: automatická aktualizace souvisejících tabulek.
  4. Vykonávání složitých obchodních pravidel: iniciace dalších akcí za určitých podmínek.

Spouštěče jsou definovány na úrovni tabulky a mohou odkazovat na staré a nové hodnoty řádku, který byl změněn.

-- Příklad syntaxe (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;

Je důležité používat spouštěče s opatrností, protože mohou ztížit ladění a ovlivnit výkon databáze.