SQL Basis

Hoofdstuk 22 - Using Triggers

  • Triggers zijn handelingen (SQL-statements) die automatisch worden uitgevoerd bij een bepaalde activiteit
  • Deze activiteiten zijn:
    • DELETE
    • INSERT
    • UPDATE
  • De opbouw van een trigger verschilt per SQL-dialect. In MySQL is BEGIN ... END nodig wanneer de trigger meerdere statements bevat; voor één statement is dit niet verplicht.
  • Welke objecten triggers ondersteunen verschilt per SQL-dialect. MySQL-triggers horen bij permanente tabellen en kunnen niet aan een view worden gekoppeld.

Voorbeelden van zinvolle triggers zijn:

  • Elke keer dat er een klant wordt toegevoegd, controleer dan of er een telefoonnummer is en of de postcode voldoet aan de eisen
  • Elke keer als er een product wordt besteld, verminder dan de voorraad met het bestelde aantal
  • Elke keer als er een rij wordt verwijderd uit een tabel, maak dan eerst een kopie van de rij in de tabel archief