Trigger, rule ili okidač predstavlja jedan od mehanizama za proveru uslova integriteta baze podataka. Okidač je jedna programska procedura sistema za upravljanje bazama podataka (SUBP), koja se aktivira određenim događajem, a ti događaji mogu biti:
- upis nove zapisa u tabelu
- brisanje određenog zapisa
- modifikacija postojećeg zapisa
Kao primer navešćemo situaciju kada je okidač kreiran tako da kada se iz programa izbrišu podaci o nekom kupcu, automatski se izbrišu i sve njegove narudžbine. Na ovaj način održali smo propisane odnose između podataka različitih entiteta (u ovom slučaju entiteta „Kupac“ i entiteta „Narudzba“).
Sintaksa okidača je sledeća:
CREATE [OR REPLACE] TRIGGER /naziv_okidaca/
/tip okidaca/ ON /naziv tabele/
BEGIN
/izvrsne_instrukcije_okidaca/
END
Naravno, potpuna sintaksa je mnogo složenija, ali i ovo je dovoljno da vidimo šta su okidači i kako deluju. Zapazite klauzulu “ OR REPLACE“, ona omogućava da postojeći okidač sa istim imenom zamenimo novim. Tipovi okidača mogu biti: BEFORE, AFTER i INSTEAD OF.
Evo i primera okidača, uzmimo da imamo tabelu „Dobavljac-Artikal“, okidač će vršiti proveru pre upisa u datu tabele, da li dati dobavljač uopšte nabavlja dati proizvod:
CREATE TRIGGER ubaci_Dobavljac_Artikl
BEFORE INSERT ON Dobavljac_Artikl
FOR EACH ROW
BEGIN
RULE_DOBAVLJA (:NEW.D, :NEW.A)
END ubaci_Dobavljac_Artikl
Primer je realizovan u okruženju SUBP „Oracle“.
Pratite Krstaricu na www.krstarica.com