Izrecni kazalnik vs implicitni kazalec
Ko gre za zbirke podatkov, je kazalec nadzorna struktura, ki omogoča prehod po zapisih v zbirki podatkov. Kazalec ponuja mehanizem za dodelitev imena stavku za izbiro SQL, nato pa ga je mogoče uporabiti za obdelavo informacij znotraj tega stavka SQL. Implicitni kazalci se samodejno ustvarijo in uporabijo vsakič, ko je v PL / SQL izdan stavek Select, kadar kurzorja ni izrecno definiran. Izrecne kazalce, kot že ime pove, razvijalec izrecno določi. V PL / SQL je eksplicitni kazalec dejansko poimenovana poizvedba, definirana s pomočjo kazalca ključne besede.
Kaj je implicitni kazalec?
Implicitne kazalke Oracle samodejno ustvari in uporabi vsakič, ko je izdan stavek select. Če je uporabljen implicitni kurzor, bo sistem za upravljanje z bazo podatkov (DBMS) samodejno izvedel operacije odpiranja, pridobivanja in zapiranja. Implicitne kazalke je treba uporabljati samo z izjavami SQL, ki vrnejo eno vrstico. Če stavek SQL vrne več kot eno vrstico, bo uporaba implicitnega kazalca povzročila napako. Impliciten kazalec je samodejno povezan z vsakim stavkom jezika za upravljanje podatkov (DML), in sicer stavki INSERT, UPDATE in DELETE. Tudi implicitni kurzor se uporablja za obdelavo stavkov SELECT INTO. Pri pridobivanju podatkov z implicitnimi kazalci je mogoče NO_DATA_FOUND izvzeti, ko stavek SQL ne vrne nobenih podatkov. Poleg tegaimplicitni kazalci lahko sprožijo TOO_MANY_ROWS izjeme, kadar stavek SQL vrne več kot eno vrstico.
Kaj je eksplicitni kazalec?
Kot smo že omenili, so eksplicitni kazalci poizvedbe, definirane z imenom. Izrecni kurzor si lahko predstavljamo kot kazalnik na niz zapisov in ga lahko premikamo naprej znotraj nabora zapisov. Izrecne kazalke uporabniku omogočajo popoln nadzor nad odpiranjem, zapiranjem in pridobivanjem podatkov. Tudi več vrstic je mogoče pridobiti z eksplicitnim kazalcem. Izrecni kazalci lahko prav tako vzamejo parametre kot katera koli funkcija ali postopek, tako da je spremenljivke v kazalcu mogoče spremeniti vsakič, ko se izvede. Poleg tega eksplicitni kazalci omogočajo, da v spremenljivko zapisa PL / SQL prikličete celo vrstico. Ko uporabljate eksplicitni kurzor, ga morate najprej prijaviti z imenom. Do atributov kazalca lahko dostopate z imenom, ki je dano kurzorju. Po prijavi je treba najprej odpreti kurzor. Potem se lahko začne pridobivanje. Če je treba pridobiti več vrstic, je treba operacijo pridobivanja opraviti znotraj zanke. Končno je treba kazalec zapreti.
Razlika med eksplicitnim kurzorjem in implicitnim kurzorjem
Glavna razlika med implicitnim kurzorjem in eksplicitnim kurzorjem je v tem, da je treba eksplicitni kurzor določiti z navedbo imena, medtem ko se implicitni kazalci samodejno ustvarijo, ko izdate stavek select. Poleg tega je mogoče z uporabo eksplicitnih kazalcev pridobiti več vrstic, implicitne pa le eno vrstico. Tudi izjeme NO_DATA_FOUND in TOO_MANY_ROWS se ne uporabljajo pri uporabi eksplicitnih kazalcev, v nasprotju z implicitnimi kazalci. V bistvu so implicitni kazalci bolj ranljivi za napake v podatkih in zagotavljajo manj programskega nadzora kot eksplicitni kazalci. Tudi implicitni kazalci veljajo za manj učinkovite od eksplicitnih kazalcev.