Triggerite ja kursorite erinevus

Lülitab vs kursorid

Andmebaasis on päästik protseduur (koodisegment), mis käivitatakse automaatselt, kui tabelis / vaates ilmnevad mõned konkreetsed sündmused. Muude kasutusviiside hulgas kasutatakse päästikuid peamiselt andmebaasi terviklikkuse säilitamiseks. Kursor on juhtimisstruktuur, mida kasutatakse andmebaasides andmebaasi kirjete läbimiseks. See sarnaneb iteraatoriga, mida pakuvad paljud programmeerimiskeeled.

Mis on päästikud?

Päästik on protseduur (koodisegment), mis käivitatakse automaatselt, kui mõni konkreetne sündmus toimub andmebaasi tabelis / vaates. Muude kasutusviiside hulgas kasutatakse päästikuid peamiselt andmebaasi terviklikkuse säilitamiseks. Päästikuid kasutatakse ka ärireeglite jõustamiseks, andmebaasis tehtud muudatuste auditeerimiseks ja andmete kopeerimiseks. Kõige tavalisemad päästikud on andmemanipulatsiooni keele (DML) päästikud, mis käivitatakse andmete manipuleerimise ajal. Mõned andmebaasisüsteemid toetavad mitte-andmete päästikuid, mis käivitatakse andmete määratluskeele (DDL) sündmuste toimumisel. Mõned näited on päästikud, mis vallandatakse tabelite loomisel, sidumis- või tagasivõtmistoimingute ajal jne. Neid päästikuid saab eriti kasutada auditeerimiseks. Oracle'i andmebaasisüsteem toetab skeemi taseme päästikuid (st andmebaasi skeemide muutmisel vallandatud päästikud), näiteks pärast loomist, enne muutmist, pärast muutmist, enne langust, pärast langust jne. Oracle'i toetatud päästikute neli peamist tüüpi on rivitaseme päästikud, Veerutaseme päästikud, iga rea ​​tüübi ja iga avalduse tüübi päästikud.

Mis on kursorid?

Kursor on juhtimisstruktuur, mida kasutatakse andmebaasides andmebaasi kirjete läbimiseks. See sarnaneb iteraatoriga, mida pakuvad paljud programmeerimiskeeled. Lisaks andmebaasis olevatele kirjetele liikumisele hõlbustavad kursorid ka andmete otsimist, kirjete lisamist ja kustutamist. Õige tee määratledes saab kursoreid kasutada ka tagurpidi liikumiseks. Kui SQL-päring tagastab ridade komplekti, töödeldakse neid reaalselt kursorite abil. Enne selle kasutamist tuleb kursor deklareerida ja sellele nimi anda. Seejärel tuleb kursor avada käsu OPEN abil. See toiming asetaks kursori vahetult enne tulemuste kirjete esimest rida. Seejärel peab kursor sooritama FETCH toimingu, et tegelikult saada andmerida rakendusse. Lõpuks tuleb kursor sulgeda, kasutades operatsiooni CLOSE. Suletud kursoreid saab uuesti avada.

Mis vahe on käivitajatel ja kursoritel??

Päästik on protseduur (koodisegment), mis käivitatakse automaatselt, kui mingid konkreetsed sündmused ilmnevad andmebaasi tabelis / vaates, samal ajal kui kursor on juhtimisstruktuur, mida kasutatakse andmebaasides andmebaasi kirjete läbimiseks. Kursorit saab kuulutada ja seda päästiku piires kasutada. Sellises olukorras oleks deklareerimisavaldus päästiku sees. Siis oleks kursori ulatus piiratud selle päästikuga. Päästiku piires, kui kursor kuulutatakse sisestatud või kustutatud tabelis, pole sellisele kursorile ligipääs pesastatud päästikust. Kui päästik on lõpule viidud, eraldatakse kõik päästikus loodud kursorid.