Razlika između okidača i kursora

Razlika između okidača i kursora
Razlika između okidača i kursora

Video: Razlika između okidača i kursora

Video: Razlika između okidača i kursora
Video: Koja je razlika između crne i bijele magije? 2024, Novembar
Anonim

Triggers vs Cursors

U bazi podataka, okidač je procedura (segment koda) koja se izvršava automatski kada se neki specifični događaji dogode u tabeli/pregledu. Između ostalih upotreba, okidači se uglavnom koriste za održavanje integriteta u bazi podataka. Kursor je kontrolna struktura koja se koristi u bazama podataka za prolazak kroz zapise baze podataka. Veoma je sličan iteratoru koji pružaju mnogi programski jezici.

Šta su okidači?

Okidač je procedura (segment koda) koja se izvršava automatski kada se neki specifični događaji dogode u tabeli/pregledu baze podataka. Između ostalih upotreba, okidači se uglavnom koriste za održavanje integriteta u bazi podataka. Okidači se takođe koriste za sprovođenje poslovnih pravila, reviziju promena u bazi podataka i repliciranje podataka. Najčešći okidači su okidači jezika za upravljanje podacima (DML) koji se pokreću kada se manipulira podacima. Neki sistemi baza podataka podržavaju okidače bez podataka, koji se pokreću kada se dogode događaji jezika definicije podataka (DDL). Neki primjeri su okidači koji se aktiviraju kada se kreiraju tabele, tokom operacija urezivanja ili vraćanja, itd. Ovi okidači se mogu posebno koristiti za reviziju. Oracle sistem baze podataka podržava okidače na nivou sheme (tj. okidače koji se aktiviraju kada se šeme baze podataka modificiraju) kao što su nakon kreiranja, prije izmjene, nakon izmjene, prije ispuštanja, nakon ispuštanja, itd. Četiri glavna tipa okidača koje Oracle podržava su okidači na nivou reda, Okidači na nivou kolone, okidači za svaku vrstu reda i okidači za svaku vrstu izjave.

Šta su kursori?

Kursor je kontrolna struktura koja se koristi u bazama podataka za prolazak kroz zapise baze podataka. Veoma je sličan iteratoru koji pružaju mnogi programski jezici. Pored prelaska kroz zapise u bazi podataka, kursori takođe olakšavaju pronalaženje podataka, dodavanje i brisanje zapisa. Definiranjem ispravnog puta, kursori se mogu koristiti i za kretanje unazad. Kada SQL upit vrati skup redova, oni se zapravo obrađuju pomoću kursora. Kursor treba deklarirati i dodijeliti mu ime prije nego što se može koristiti. Zatim kursor treba otvoriti pomoću naredbe OPEN. Ova operacija bi postavila kursor neposredno prije prvog reda skupa rezultata. Zatim kursor mora izvršiti operaciju FETCH da bi zapravo primio red podataka u aplikaciju. Konačno, kursor se mora zatvoriti operacijom CLOSE. Zatvoreni kursori se mogu ponovo otvoriti.

Koja je razlika između okidača i kursora?

Okidač je procedura (segment koda) koja se izvršava automatski kada se neki specifični događaji dogode u tabeli/pregledu baze podataka, 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 declare bi bila unutar okidača. Tada bi opseg kursora bio ograničen na taj okidač. Unutar okidača, ako je kursor deklariran na umetnutoj ili izbrisanoj tabeli, takav kursor ne bi bio dostupan iz ugniježđenog okidača. Kada se okidač završi, svi kursori kreirani unutar okidača bit će de-alocirani.

Preporučuje se: