Triger predstavlja blok PL/SQL koda koji se automatski izvršava kada korisnik pokuša modifikaciju podataka u okviru određene tabele u bazi podataka. Uglavnom se koristi za čuvanja integriteta podataka u bazi podataka. U zavisnosti od toga koje operacije baze podataka izazivaju okidanje trigera mogu se podeliti na: INSERT, UPDATE, DELETE trigere. Mogu se okinuti neposredno pre (BEFORE) ili posle (AFTER) izvršavanja SQL naredbe.

Trigeri se najčešće koriste za:

  • nadgledanje (potencijalnih) promena u bazi podataka
  • forsiranje ograničenja
  • automatsko postavljanje ID-ova i izvedenih vrednosti
  • automatsko čuvanje starijih verzija podataka
  • sprečavanje izmena
  • automatsko ažuriranje dnevnika promena
  • reviziju promena
  • primenjivanje pravila poslovanja
  • poboljšavanje pravila poslovanja

Glavne karakteristike i efekti trigera su:

  • ne prihvataju parametre i argumente
  • može otkazati određenu operaciju
  • može izazovati multipliciranje grešaka za odgovarajaću tabelu, ako je loše napisan
  • ne može vratiti na pređašnje stanje pre izvršenja SQL naredbe.

Reference

уреди