Okidači protiv kursora
U bazi podataka okidač je postupak (segment koda) koji se izvršava automatski kada se u tablici / prikazu pojave neki specifični događaji. Između ostalih primjena, okidači se uglavnom koriste za održavanje integriteta u bazi podataka. Kursor je upravljačka struktura koja se koristi u bazama podataka za prolazak kroz zapise baze podataka. Vrlo je sličan iteratoru koji pružaju mnogi programski jezici.
Što su okidači?
Okidač je postupak (segment koda) koji se izvršava automatski kada se u tablici / prikazu baze podataka pojave neki specifični događaji. Između ostalih primjena, okidači se uglavnom koriste za održavanje integriteta u bazi podataka. Okidači se također koriste za provođenje poslovnih pravila, reviziju promjena u bazi podataka i repliciranje podataka. Najčešći okidači su okidači jezika za upravljanje podacima (DML) koji se aktiviraju kada se manipulira podacima. Neki sustavi baza podataka podržavaju okidače koji nisu podaci, a koji se pokreću kada se dogode događaji jezika definicije podataka (DDL). Neki primjeri su okidači koji se aktiviraju kada se kreiraju tablice, tijekom operacija urezivanja ili vraćanja itd. Ovi okidači mogu se posebno koristiti za reviziju. Oracle sustav baze podataka podržava okidače na razini sheme (tjokidači koji se aktiviraju kada se sheme baze podataka izmijene) kao što su After Creation, Before Alter, After Alter, Before Drop, After Drop itd. Četiri glavne vrste okidača koje podržava Oracle su okidači Razina retka, Okidači Razine stupca, Okidači svake vrste reda i Za svaki okidač vrste izjave.
Što su pokazivači?
Kursor je upravljačka struktura koja se koristi u bazama podataka za prolazak kroz zapise baze podataka. Vrlo je sličan iteratoru koji pružaju mnogi programski jezici. Osim prelaska kroz zapise u bazi podataka, kursori također olakšavaju pronalaženje podataka, dodavanje i brisanje zapisa. Određivanjem ispravnog načina, pokazivači se također mogu koristiti za kretanje unatrag. Kad SQL upit vrati skup redaka, oni se zapravo obrađuju pomoću kursora. Prije nego što se može upotrijebiti, kursor treba deklarirati i dodijeliti mu ime. Zatim pokazivač treba otvoriti pomoću naredbe OPEN. Ova bi operacija postavila kursor neposredno prije prvog retka skupa rezultata. Tada kursor mora izvršiti operaciju FETCH da bi zapravo dobio red podataka u aplikaciju. Konačno, pokazivač se mora zatvoriti pomoću operacije ZATVORI. Zatvorene pokazivače možete ponovo otvoriti.
Koja je razlika između okidača i pokazivača?
Okidač je postupak (segment koda) koji se izvršava automatski kada se u tablici / prikazu baze podataka pojave neki specifični događaji, dok je kursor kontrolna struktura koja se koristi u bazama podataka za prolazak kroz zapise baze podataka. Kursor se može deklarirati i koristiti unutar okidača. U takvoj situaciji izjava proglašenja nalazila bi se unutar okidača. Tada bi opseg kursora bio ograničen na taj okidač. Unutar okidača, ako je kursor deklariran na umetnutoj ili izbrisanoj tablici, takav kursor neće biti dostupan iz ugniježđenog okidača. Jednom kada je okidač završen, svi će se kursori stvoreni u okidaču ukloniti.