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
.