Uvod v kazalce v PL / SQL

PL / SQL je eden najbolj razširjenih programskih jezikov, ko gre za programiranje baz podatkov. Nekatere pomembne koncepte PL / SQL mora PL / SQL programer naučiti in jasno razumeti, da jih lahko pravilno uporabijo. Kazalec je eden izmed njih. V programu PL / SQL je treba na koncu izvesti izjave SQL. Kazalec je podoben kazalcu, ki se uporablja za usmerjanje na kontekstno območje, ki ga je Oracle ustvaril za izvedbo stavka SQL. Kazalec vsebuje vse vrstice, vrnjene po obdelavi stavkov SQL. Niz vrstice, ki jo drži Cursor, se imenuje Active Set. Kazalec lahko imenujemo tudi za nadaljnjo uporabo programerja. V tej temi bomo spoznali kazalce v PL / SQL.

Vrste kazalcev

V PL / SQL programiranju se uporabljata dve vrsti kazalcev:

1. implicitni kazalci

Kot že ime pove, so implicitni kazalci tisti kazalci, ki jih Oracle samodejno ustvari, ko se izvedejo kateri koli stavki DML, kot so INSERT, DELETE, UPDATE. Ko programer ne ustvari nobenega kazalca, ga Oracle sam ustvari za zadrževanje vrstic, na katere vplivajo stavki DML. Programer ne more imenovati teh kazalcev, zato jih ni mogoče napotiti in uporabiti na drugem mestu kode. Čeprav Oracle ponuja nekaj atributov za izvajanje nekaterih operacij na njem

% FOUND, % NOTFOUND, % ROWCOUNT, % ISOPEN.

S. št.AtributiOpis
1.% NAJDENVrne True, če izjave DML, kot je INSERT,

DELETE, UPDATE vplivajo na eno ali več vrstic ali stavek SELECT vrne eno ali več vrstic. V nasprotnem primeru vrne napačno

2%NI NAJDENONasprotno je atribut% FOUND; Vrne True, če stavek DML ne vpliva na nobeno od vrstic ali stavek SELECT ne vrne rezultatov. V nasprotnem primeru vrne napačno.
3.% ISOPENV primeru implicitnih kazalcev vedno vrne napačno, ker Oracle zapre kazalec tik po izvedbi stavkov SQL.
4.% ROWCOUNTVrne število vrstic. Tj. Štetje števila vrstic, na katere vpliva omenjeni DML
stavke programerja v kodi PL / SQL, kot so INSERT, DELETE in UPDATE, ali število vrstic, ki jih vrne stavek SELECT INTO.
Primer

Scenarij: Posodobiti ocene vseh študentov v tabeli „študent“ v angleščini Predmet, ki ima stolpec „Predmet“, do 10.

DECLARE
affected_rows number(4);
BEGIN
UPDATE students SET marks = marks+10 where subject = 'English';
IF​ sql%NOTFOUND THEN dbms_output.put_line ('No records of English subject are updated');
ELSIF sql%FOUND THEN​ affected rows: = affected rows%rowcount
dbms_output.put_line('Congrats ..Records Updated' || affected_rows);
END IF;
END;
/

2. Eksplicitni kazalci

Izrecni kazalci so tisti kazalci, ki jih programerji definirajo, da imajo večji nadzor nad območjem konteksta (kjer so shranjeni rezultati poizvedb SQL). Te kazalce je treba najprej določiti v deklaracijskem bloku programa PL / SQL. Ustvarjen je za stavke SQL, ki po obdelavi vrnejo več vrst. Obstaja poseben postopek, ki ga je treba uporabiti za uporabo eksplicitnega kurzorja. Spodaj so navedeni koraki za uporabo eksplicitnega kazalca:

1. Razglasite kazalec: Uporablja se za poimenovanje kontekstnega območja / kazalca in izbirni stavek, ki ga je treba izvesti.

Sintaksa

CURSOR cursor_name IS SELECT statement;

2. Odprite kazalec: Odpiranje kazalca mu dodeli pomnilnik in omogoči dostop do zapisov, ki jih vrne stavek SQL.

Sintaksa

OPEN cursor_name;

3. Pridobite kazalec: V tem postopku je dostop do ene vrstice hkrati. Stavek SELECT se izvede in pridobljene vrstice so shranjene v kontekstnem območju. Dobere zapise in jih dodeli definirani spremenljivki.

Sintaksa

FETCH cursor_name INTO variable;

4. Zaprite kazalec: Ta korak se uporablja za zapiranje kurzorja, odprtega zgoraj, za razdelitev pomnilnika, ko so uspešno shranjene vse vrstice.

Sintaksa

CLOSE cursor_name;

Primer

Scenarij: V tabeli dobite ime, naslov in skupni odstotek študentov

"študent" s stolpci "ime", "naslov" in "odstotek"

DECLARE
stud_name student.name%type; stud_address student.address%type;
stud_percentage student.percentage%type;
CURSOR stud IS SELECT name, address, percentage FROM student; BEGIN
Open stud;
LOOP
FETCH stud into stud_name, stud_address, stud_percentage;
EXIT when stud%NOTFOUND;
dbms_ouput.put_line(stud_name || ' ' || stud_address || ' ' || stud_percentage);
END LOOP;
CLOSE stud;
END
/

Dejanja kazalca

Za razliko od SQL, ki deluje v vseh vrsticah v rezultatu, nastavljenem hkrati, se kazalec uporablja predvsem v scenarijih, ko programer želi obdelati in pridobiti podatke iz ene vrstice hkrati.

Spodaj so omenjena nekatera dejanja kurzorja:

  1. Razglasite kazalec: Pred uporabo je treba razglasiti kazalec. Kazalec je razglašen z definiranjem stavka SQL, ki ga je treba obdelati.
  2. Odpiranje kazalca: Po deklaraciji se kazalec odpre in napolni vrnitev podatkov z obdelavo stavka SQL.
  3. Pridobitev kazalca: Ko je kurzor odprt, je treba izhodne vrstice prejeti eno za drugo, da po potrebi izvedejo kakršne koli manipulacije.
  4. Zaprite kazalec: Po vseh manipulacijah s podatki. Ustvarjen kazalec je treba zapreti
  5. Prerazporedi: Ta korak vključuje brisanje kazalca in sprosti vse vire, ki jih ima.

Pomen kurzorja v PL / SQL

Ena izmed pomembnih nalog v katerem koli programskem jeziku je usmerjanje na pomnilniško lokacijo in ustrezno izvajanje dejanj. V PL / SQL to počnejo Cursors. Kazalniki igrajo ključno vlogo pri izvajanju drugačne naloge tako, da v pomnilnik (kontekstno območje) pripišejo ime, kjer se shrani rezultat poizvedb SQL. Do zapisov lahko dostopamo drug za drugim in po potrebi izvedemo kakršne koli manipulacije v njih ali jih ustrezno prikažemo na konzoli. Eksplicitni kazalci so učinkovitejši, omogočajo bolj programsko kontrolo in so manj ranljivi za napake v podatkih, zato so v programiranju PL / SQL zelo uporabni kot naključni.

Zaključek

Programiranje baz podatkov je v teh dneh zelo priljubljeno in PL / SQL je eden od jezikov, ki bi ga morali zelo dobro uporabljati. Kazališča dajo programerju več nadzora pri dostopu do pridobljenih podatkov. Da bi programer deloval na PL / SQL, je pomembno vedeti uporabo in pomen Cursorja za učinkovito delovanje.

Priporočeni članki

To je vodnik za kurzorje v PL / SQL. Tukaj razpravljamo o vrstah kurzorjev, ki se uporabljajo v PL / SQL programiranju s Cursor Actions in pomembnosti kazalca. Za več informacij si lahko ogledate tudi naslednje članke -

  1. Vrste združitev v SQL
  2. Poizvedba za vstavljanje SQL
  3. Tabela v SQL
  4. Nadomestni znak v SQL
  5. Prvih 6 vrst združitev v MySQL s primeri