Sobes.tech
Junior

Wat is een trigger?

sobes.tech AI

Antwoord van AI

Een trigger is een speciale opgeslagen procedure in de database, die automatisch wordt uitgevoerd bij het optreden van een bepaald evenement.

De gebeurtenissen die triggers activeren, omvatten meestal:

  • INSERT: het toevoegen van nieuwe rijen aan de tabel.
  • UPDATE: het wijzigen van bestaande rijen in de tabel.
  • DELETE: het verwijderen van rijen uit de tabel.

Triggers kunnen op verschillende momenten ten opzichte van het evenement worden geactiveerd:

  • BEFORE: vóór het uitvoeren van het evenement.
  • AFTER: na het uitvoeren van het evenement.
  • INSTEAD OF: in plaats van het uitvoeren van het evenement (vaak gebruikt met views).

Voorbeelden van het gebruik van triggers:

  1. Het handhaven van gegevensintegriteit: automatische controle of wijziging van gegevens bij invoegen/bijwerken.
  2. Auditing: het vastleggen van informatie over gegevenswijzigingen in een aparte logtabel.
  3. Gegevenssynchronisatie: automatische bijwerking van gerelateerde tabellen.
  4. Uitvoering van complexe bedrijfsregels: het initiëren van aanvullende acties onder bepaalde voorwaarden.

Triggers worden op tabelniveau gedefinieerd en kunnen verwijzen naar oude en nieuwe waarden van de gewijzigde rij.

-- Voorbeeld van syntax (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;

Het is belangrijk om triggers met voorzichtigheid te gebruiken, omdat ze het debuggen kunnen bemoeilijken en de prestaties van de database kunnen beïnvloeden.