Okidači vs Kursori
U bazi podataka, okidač je postupak (segment koda) koji se automatski izvršava kada se u tablici / prikazu događaju neki određeni događaji. Među ostalim njezinim načinima, 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ža mnogi programski jezici.
Što su okidači?
Okidač je postupak (segment koda) koji se automatski izvršava kad se neki određeni događaji dogode u tablici / prikazu baze podataka. Među ostalim njezinim načinima, 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 obradu podataka (DML) koji se pokreću kad se podaci manipuliraju. Neki sustavi baze 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, za vrijeme izvršavanja ili prevrtanja itd. Ovi okidači mogu se posebno koristiti za reviziju. Oracle sustav baze podataka podržava okidače na razini sheme (tj. Okidače koji se aktiviraju kada su sheme baze podataka modificirane), poput After Creation, Before Alter, After Alter, Before Drop, After Drop itd. Četiri glavne vrste okidača koje podržava Oracle su okidači razine reda, Okidači za stupce stupca, svaki okidač za svaku vrstu redaka i za svako aktiviranje vrste izjave.
Što su kursori?
Kursor je upravljačka struktura koja se koristi u bazama podataka za prolazak kroz zapise baze podataka. Vrlo je sličan iteratoru koji pruža mnogi programski jezici. Osim što se kreću kroz zapise u bazi podataka, pokazivači također olakšavaju pretraživanje podataka, dodavanje i brisanje zapisa. Definiranjem ispravnog načina, pokazivači se mogu koristiti i za kretanje unatrag. Kad SQL upit vrati skup redaka, ti se podaci obrađuju pomoću kursora. Pokazivaču se mora deklarirati i dodijeliti ime, prije nego što bi se mogao koristiti. Potom se pokazivač mora otvoriti naredbom OTVORENO. Ova bi operacija smjestila pokazivač neposredno prije prvog reda zapisa rezultata. Tada pokazivač mora izvršiti operaciju FETCH da bi zapravo dobio niz podataka u aplikaciji. Na kraju, pokazivač se mora zatvoriti operacijom ZATVORI. Zatvoreni kursori mogu se ponovo otvoriti.
Koja je razlika između okidača i pokazivača?
Okidač je postupak (segment koda) koji se automatski izvršava kada se neki određeni događaji dogode u tablici / prikazu baze podataka, dok je kursor upravljačka struktura koja se koristi u bazama podataka za prolazak kroz zapise baze podataka. Pokazivač se može deklarirati i koristiti unutar okidača. U takvoj situaciji izjava izjave bila bi unutar okidača. Tada bi domet pokazivača bio ograničen na taj okidač. Unutar okidača, ako je pokazivač deklariran na umetnutoj ili izbrisanoj tablici, takav pokazivač neće biti dostupan iz ugniježđenog okidača. Kad je okidač dovršen, svi će se kursori stvoreni unutar okidača isključiti.