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ěčů:
- Udržování integrity dat: automatická kontrola nebo úprava dat při vkládání/aktualizaci.
- Audit: zaznamenávání informací o změnách dat do samostatné tabulky logů.
- Synchronizace dat: automatická aktualizace souvisejících tabulek.
- 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.