Käivitajad vs kursorid
Andmebaasis on päästik protseduur (koodisegment), mis käivitatakse automaatselt, kui tabelis / vaates ilmnevad mõned konkreetsed sündmused. Selle muude kasutusvaldkondade hulgas kasutatakse päästikuid peamiselt andmebaasi terviklikkuse säilitamiseks. Kursor on kontrollistruktuur, mida kasutatakse andmebaasides andmebaasikirjete läbimiseks. See on väga sarnane paljude programmeerimiskeelte pakutava iteraatoriga.
Mis on päästikud?
Päästik on protseduur (koodisegment), mis käivitatakse automaatselt, kui andmebaasi tabelis / vaates ilmnevad mõned konkreetsed sündmused. Selle muude kasutusvaldkondade hulgas kasutatakse päästikuid peamiselt andmebaasi terviklikkuse säilitamiseks. Käivitajaid kasutatakse ka ärireeglite jõustamiseks, andmebaasis tehtud muudatuste auditeerimiseks ja andmete kopeerimiseks. Kõige tavalisemad käivitajad on andmete manipuleerimise keele (DML) päästikud, mis käivitatakse andmetega manipuleerimisel. Mõni andmebaasisüsteem toetab mitteandmekäivitajaid, mis käivitatakse DDL (Data Definition Language) sündmuste ilmnemisel. Mõned näited on päästikud, mis käivitatakse tabelite loomisel, sidumise või tagasipöördumise toimingute ajal jne. Neid päästikuid saab eriti kasutada auditiks. Oracle'i andmebaasisüsteem toetab skeemitaseme päästikuid (stpäästikud, mis käivitatakse andmebaasi skeemide muutmisel), näiteks pärast loomist, enne muutmist, pärast muutmist, enne langemist, pärast langemist jne. Oracle'i toetatud neli peamist tüüpi päästikut on rea taseme päästikud, veerutaseme päästikud, iga rea tüübi päästikud ja Iga lause tüüp käivitab.
Mis on kursorid?
Kursor on kontrollistruktuur, mida kasutatakse andmebaasides andmebaasikirjete läbimiseks. See on väga sarnane paljude programmeerimiskeelte pakutava iteraatoriga. Lisaks andmebaasis olevate kirjete läbimisele hõlbustavad kursorid ka andmete otsimist, kirjete lisamist ja kustutamist. Õige viisi määratlemisel saab kursoreid kasutada ka tagurpidi liikumiseks. Kui SQL-päring tagastab ridade hulga, töödeldakse neid reaalselt kursorite abil. Enne kursori kasutamist tuleb deklareerida ja sellele nimi määrata. Seejärel tuleb kursor OPEN-i abil avada. See toiming paigutaks kursori vahetult enne tulemuste rekordite esimest rida. Seejärel peab kursor tegema FETCH-toimingu, et reaalselt andmete rida rakendusse saada. Lõpuks tuleb kursor CLOSE abil sulgeda. Suletud kursoreid saab uuesti avada.
Mis vahe on päästikutel ja kursoritel?
Päästik on protseduur (koodisegment), mis käivitatakse automaatselt, kui andmebaasi tabelis / vaates ilmnevad mõned konkreetsed sündmused, samas kui kursor on andmebaasikirjete läbimiseks andmebaasides kasutatav juhtimisstruktuur. Kursori saab deklareerida ja kasutada päästiku sees. Sellises olukorras oleks deklareerimisavaldus päästiku sees. Siis oleks kursori ulatus piiratud selle päästikuga. Kui kursor on deklareeritud sisestatud või kustutatud tabelis, pole päästikul päästikule ligipääsetav. Kui päästik on lõpule viidud, eraldatakse kõik päästiku sees loodud kursorid.