Kursy i Poradniki IT - Adrian Kowalski
Kurs SQL dla Początkujących
O lekcji

Tworzenie i zastosowanie wyzwalaczy

Wyzwalacze to automatyczne mechanizmy, które wykonują zdefiniowany kod SQL w odpowiedzi na zdarzenia, takie jak wstawienie, aktualizacja lub usunięcie wiersza w tabeli.

Tworzenie wyzwalacza:

CREATE TRIGGER po_wstawieniu_zamowienia
AFTER INSERT ON zamówienia
FOR EACH ROW
BEGIN
    INSERT INTO historia_logów (akcja, data)
    VALUES ('Nowe zamówienie', NOW());
END;

Co wywoła wyzwalacz: Każde wstawienie danych do tabeli zamówienia automatycznie doda wpis w tabeli logów.

Przykłady użycia wyzwalaczy

Wyzwalacze znajdują zastosowanie w wielu sytuacjach:

  • Automatyczne logowanie działań użytkownika.
  • Utrzymywanie spójności danych pomiędzy tabelami.
  • Wysyłanie powiadomień lub wykonywanie dodatkowych operacji po dodaniu/zmianie/usunięciu danych.

Przykład wyzwalacza na usuwanie:

CREATE TRIGGER przed_usunieciem_klienta
BEFORE DELETE ON klienci
FOR EACH ROW
BEGIN
    INSERT INTO usunięci_klienci (id, imię, nazwisko, data_usunięcia)
    VALUES (OLD.id, OLD.imię, OLD.nazwisko, NOW());
END;

Kiedy rekord zostanie usunięty z tabeli klienci, dane zostaną automatycznie zapisane w tabeli usunięci_klienci.