Razlika med eksplicitnim kazalcem in implicitnim kazalcem

Izrecni kazalec proti implicitnemu kazalcu

Kar zadeva baze podatkov, je kurzor krmilna struktura, ki omogoča pohod po zapisih v bazi podatkov. Kazalec ponuja mehanizem za dodelitev imena izbiru SQL za izbiro, nato pa se lahko uporablja za manipulacijo s podatki v tej stavki SQL. Implicitni kazalci se samodejno ustvarijo in uporabijo vsakič, ko je v PL / SQL izdan stavek Select, kadar ni izrecno definiranega kazalca. Izrecne kazalce, kot že ime pove, razvijalci izrecno opredelijo. V PL / SQL je eksplicitni kazalec pravzaprav poimenovana poizvedba, definirana s pomočjo kazalca ključne besede.

Kaj je implicit kazalec?

Oracle samodejno ustvari in uporabi implicitne kazalce vsakič, ko izda izjavo o izbiri. Če je uporabljen implicitni kazalec, bo sistem za upravljanje baz podatkov (DBMS) samodejno izvajal operacije odpiranja, prenašanja in zapiranja. Implicitne kazalce je treba uporabljati samo s stavki SQL, ki vrnejo eno vrstico. Če stavek SQL vrne več kot eno vrstico, bo uporaba implicitnega kazalca vnesla napako. Implicitni kazalec je samodejno povezan z vsemi izjavami jezika DML (Data Manipulation Language - DML), in sicer stavki INSERT, UPDATE in DELETE. Prav tako se uporablja implicitni kazalec za obdelavo stavkov SELECT INTO. Pri pridobivanju podatkov z uporabo implicitnih kazalcev NO_DATA_FOUND lahko izjema izjema, ko stavek SQL ne vrne nobenih podatkov. Poleg tega lahko implicitni kazalci dvignejo izjeme TOO_MANY_ROWS, ko stavek SQL vrne več kot eno vrstico.

Kaj je eksplicitni kazalec?

Kot smo že omenili, so izrecni kazalci poizvedbe, definirane z imenom. Izrecni kazalec je lahko mišljen kot kazalec na nabor zapisov, kazalec pa se lahko premika naprej znotraj nabora zapisov. Izrecni kazalci omogočajo uporabniku popoln nadzor nad odpiranjem, zapiranjem in prenašanjem podatkov. Prav tako je mogoče z izrecnim kazalcem pridobiti več vrstic. Tudi eksplicitni kazalci lahko sprejmejo parametre tako kot katero koli funkcijo ali postopek, tako da se lahko spremenljivke kazalca spremenijo vsakič, ko se izvede. Poleg tega vam eksplicitni kazalci omogočajo prenos celotne vrstice v spremenljivko zapisa PL / SQL. Ko uporabljate izrecni kazalec, ga je najprej treba prijaviti z imenom. Do atributov kurzorja lahko dostopate z imenom, ki ga damo kazalcu. Po razglasitvi je treba najprej odpreti kazalec. Potem se lahko začne pridobivanje. Če je treba pridobiti več vrstic, je treba operacijo pridobivanja izvesti znotraj zanke. Na koncu je treba kazalec zapreti.

Razlika med eksplicitnim kazalcem in implicitnim kazalcem

Glavna razlika med implicitnim kazalcem in eksplicitnim kazalcem je, da je treba eksplicitni kazalec definirati z imenom, medtem ko se implicitni kazalci samodejno ustvarijo, ko izdate izbirni stavek. Poleg tega je mogoče z različnimi kazalci pridobiti več vrstic, medtem ko lahko implicitni kazalci pridobijo samo eno vrstico. Tudi izjeme NO_DATA_FOUND in TOO_MANY_ROWS se pri uporabi eksplicitnih kazalcev ne prikažejo v nasprotju z implicitnimi kazalci. V bistvu so implicitni kazalci bolj podvrženi podatkovnim napakam in nudijo manj programskega nadzora kot eksplicitni kazalci. Tudi implicitni kazalci veljajo za manj učinkovite od eksplicitnih kazalcev.