Razlika med eksplicitnim in implicitnim kazalcem

Razlika med eksplicitnim in implicitnim kazalcem
Razlika med eksplicitnim in implicitnim kazalcem

Video: Razlika med eksplicitnim in implicitnim kazalcem

Video: Razlika med eksplicitnim in implicitnim kazalcem
Video: Модели и Методологии разработки ПО (Waterfall, V-model, Agile, Scrum, Kanban и другие) #8 2024, Julij
Anonim

Eksplicitni kazalec proti implicitnemu kazalcu

Kadar gre za baze podatkov, je kazalec nadzorna struktura, ki omogoča premikanje po zapisih v bazi podatkov. Kazalec zagotavlja mehanizem za dodelitev imena stavku za izbiro SQL, nato pa ga je mogoče uporabiti za manipulacijo informacij znotraj tega stavka SQL. Implicitni kazalci se samodejno ustvarijo in uporabijo vsakič, ko je v PL/SQL izdan stavek Select, če ni izrecno definiranega kazalca. Eksplicitne kazalce, kot že ime pove, izrecno definira razvijalec. V PL/SQL je eksplicitni kazalec pravzaprav poimenovana poizvedba, definirana s ključno besedo kazalec.

Kaj je implicitni kazalec?

Implicitne kazalce samodejno ustvari in uporabi Oracle vsakič, ko je izdana izjava za izbiro. Če je uporabljen implicitni kazalec, bo sistem za upravljanje baze podatkov (DBMS) samodejno izvedel operacije odpiranja, pridobivanja 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 povzročila napako. Implicitni kazalec je samodejno povezan z vsakim stavkom DML (Data Manipulation Language), in sicer stavki INSERT, UPDATE in DELETE. Za obdelavo stavkov SELECT INTO se uporablja tudi implicitni kazalec. Pri pridobivanju podatkov z implicitnimi kazalci se lahko sproži izjema NO_DATA_FOUND, ko stavek SQL ne vrne podatkov. Poleg tega lahko implicitni kazalci povzročijo TOO_MANY_ROWS izjem, ko stavek SQL vrne več kot eno vrstico.

Kaj je eksplicitni kazalec?

Kot smo že omenili, so eksplicitni kazalci poizvedbe, definirane z imenom. Eksplicitni kazalec si lahko predstavljamo kot kazalec na nabor zapisov, kazalec pa lahko premaknemo naprej znotraj nabora zapisov. Eksplicitni kazalci zagotavljajo uporabniku popoln nadzor nad odpiranjem, zapiranjem in pridobivanjem podatkov. Prav tako je mogoče pridobiti več vrstic z eksplicitnim kazalcem. Eksplicitni kazalci lahko prav tako prevzamejo parametre tako kot katera koli funkcija ali postopek, tako da je mogoče spremenljivke v kazalcu spremeniti vsakič, ko se izvede. Poleg tega vam eksplicitni kazalci omogočajo pridobivanje celotne vrstice v spremenljivko zapisa PL/SQL. Pri uporabi eksplicitnega kazalca ga je treba najprej deklarirati z imenom. Do atributov kazalca lahko dostopate z imenom, ki ga dodelite kazalcu. Po deklaraciji je treba najprej odpreti kazalec. Nato se lahko začne pridobivanje. Če je treba pridobiti več vrstic, je treba operacijo pridobivanja izvesti znotraj zanke. Nazadnje je treba kazalec zapreti.

Razlika med eksplicitnim in implicitnim kazalcem

Glavna razlika med implicitnim in eksplicitnim kazalcem je, da mora biti eksplicitni kazalec definiran eksplicitno z navedbo imena, medtem ko se implicitni kazalci samodejno ustvarijo, ko izdate stavek select. Poleg tega je mogoče pridobiti več vrstic z eksplicitnimi kazalci, medtem ko lahko implicitni kazalci pridobijo samo eno vrstico. Tudi izjeme NO_DATA_FOUND in TOO_MANY_ROWS se ne prikažejo pri uporabi eksplicitnih kazalcev, v nasprotju z implicitnimi kazalci. V bistvu so implicitni kazalci bolj ranljivi za podatkovne napake in zagotavljajo manj programskega nadzora kot eksplicitni kazalci. Poleg tega implicitni kazalci veljajo za manj učinkovite od eksplicitnih.

Priporočena: