Päästikud vs kursorid
Andmebaasis on päästik protseduur (koodisegment), mis käivitatakse automaatselt, kui tabelis/vaates toimuvad teatud sündmused. Muu hulgas kasutatakse päästikuid peamiselt andmebaasi terviklikkuse säilitamiseks. Kursor on juhtimisstruktuur, mida kasutatakse andmebaasides andmebaasikirjete läbimiseks. See on väga sarnane paljude programmeerimiskeelte pakutava iteraatoriga.
Mis on käivitajad?
Triger on protseduur (koodisegment), mis käivitatakse automaatselt, kui andmebaasi tabelis/vaates toimuvad teatud sündmused. Muu hulgas kasutatakse päästikuid peamiselt andmebaasi terviklikkuse säilitamiseks. Päästikuid kasutatakse ka ärireeglite jõustamiseks, andmebaasi muudatuste auditeerimiseks ja andmete kopeerimiseks. Kõige tavalisemad päästikud on andmete manipuleerimise keele (DML) päästikud, mis käivituvad andmetega manipuleerimisel. Mõned andmebaasisüsteemid toetavad mitte-andmekäivitusi, mis käivituvad andmedefineerimiskeele (DDL) sündmuste ilmnemisel. Mõned näited on päästikud, mis käivitatakse tabelite loomisel, sissekandmise või tagasipööramise operatsioonide ajal jne. Neid päästikuid saab kasutada eriti auditeerimiseks. Oracle'i andmebaasisüsteem toetab skeemitaseme päästikuid (st käivitatakse andmebaasi skeemide muutmisel), nagu pärast loomist, enne muutmist, pärast muutmist, enne kukkumist, pärast kukutamist jne. Oracle toetab nelja peamist tüüpi päästikuid: reataseme päästikud, Veerutaseme päästikud, iga reatüübi päästikud ja iga avalduse tüübi päästikud.
Mis on kursorid?
Kursor on juhtstruktuur, mida kasutatakse andmebaasides andmebaasikirjete läbimiseks. See on väga sarnane paljude programmeerimiskeelte pakutava iteraatoriga. Lisaks andmebaasis kirjete läbimisele hõlbustavad kursorid ka andmete otsimist, kirjete lisamist ja kustutamist. Määrates õige tee, saab kursoreid kasutada ka tagurpidi liikumiseks. Kui SQL-päring tagastab ridade komplekti, töödeldakse neid tegelikult kursorite abil. Kursor tuleb enne kasutamist deklareerida ja sellele nime anda. Seejärel tuleb kursor avada käsu OPEN abil. See toiming asetaks kursori vahetult enne rekordite tulemuskomplekti esimest rida. Seejärel peab kursor sooritama toimingu FETCH, et tegelikult rakendusse andmerea saada. Lõpuks tuleb kursor sulgeda toimingu CLOSE abil. Suletud kursoreid saab uuesti avada.
Mis vahe on päästikutel ja kursoritel?
Päivitik on protseduur (koodisegment), mis käivitatakse automaatselt, kui andmebaasi tabelis/vaates toimuvad teatud sündmused, samas kui kursor on juhtstruktuur, mida kasutatakse andmebaasides andmebaasikirjete läbimiseks. Kursori saab deklareerida ja kasutada päästiku sees. Sellises olukorras oleks deklareerimisavaldus päästiku sees. Siis oleks kursori ulatus selle päästikuga piiratud. Päästiku sees, kui kursor on deklareeritud sisestatud või kustutatud tabelis, ei oleks selline kursor pesastatud päästiku kaudu juurdepääsetav. Kui päästik on lõpule viidud, tühistatakse kõik päästiku sees loodud kursorid.