A triggerek olyan aktív elemek, amelyek bizonyos események hatására jönnek működésbe. Ilyen esemény lehet pl.: 1 adott relációba való beszúrás. Az SQL3-as szabványban szerepelnek.

A triggerek (esemény – feltétel - művelet szabályok) a megszorításoktól 3 dologban térnek el:

  1. A triggereket a rendszer csak akkor ellenőrzi, ha bizonyos adatbázis-programozó által megadott események bekövetkeznek. A megengedett események általában 1 adott relációra vonatkozó beszúrás, törlés és módosítás, vagy a tranzakció befejeződése.
  2. A kiváltó esemény azonnali megakadályozása helyett a trigger először 1 feltételt vizsgál meg. Ha a feltétel nem teljesül, akkor a kiváltó eseményre válaszul a triggerrel összefüggésben semmi sem fog történni.
  3. Ha trigger feltétel teljesül, akkor a rendszer végrehajtja a triggerhez tartozó műveletet. Ez a művelet ezután megakadályozhatja a kiváltó esemény megtörténtét v. meg nem történtté teheti azt.
    A megadott művelet adatbázis-műveletnek 1 tetszőleges sorozata lehet, akár olyan műveleteket is tartalmazhat, amelyeknek semmi köze nincs a kiváltó eseményhez.

SQL3 triggerei: Különböző lehetőséget kínál a felhasználónak az eseményre, a feltételre és a műveletre vonatkozó részében:

  1. A műveletet végrehajtjuk a kiváltó esemény előtt, után v. helyette.
  2. A művelet hivatkozhat a műveletet kiváltó esemény által törölt, beszúrt v. módosított sorok régi és új értékeire is.
  3. Ha az esemény módosítás, akkor megadhatunk 1 bizonyos oszlopot v. oszlopok 1 halmazát, amelyre az esemény vonatkozik.
  4. 1 WHEN záradékában megadhatunk 1 feltételt, és a műveletet csak akkor hajtja végre a rendszer, ha a szabály kiváltódik és a kiváltó esemény bekövetkezésekor a feltétel igaz.
  5. A programozó megadhatja, hogy a művelet végrehajtása a köv. 2 lehetőség közül melyik módon történjen meg: - Minden módosított sorra egyszer, vagy
  • 1 adatbázis-művelet által módosított összes sorra vonatkozóan egyszer.