Bevezetés a kurzorokba a PL / SQL-ben

A PL / SQL az egyik legszélesebb körben használt programozási nyelv, amikor az adatbázis-programozásról van szó. A PL / SQL néhány fontos fogalmának meg kell tanulnia és értenie kell egy PL / SQL programozónak a megfelelő használat érdekében. A kurzor az egyik. A PL / SQL programban az SQL utasításokat a végén végre kell hajtani. A kurzor éppen olyan, mint egy mutató, amely a kontextusterület mutatására szolgál, és amelyet az Oracle hozott létre az SQL utasítás végrehajtására. A kurzor az SQL utasítások feldolgozása után visszatérített összes sort tárolja. A sor halmazát, amelyet a kurzor tart, aktív készletnek nevezzük. A kurzor megnevezhető úgy is, hogy egy programozó tovább használja azt a programban. Ebben a témában megismerjük a kurzorokat a PL / SQL-ben.

Kurzorok típusai

Kétféle kurzor használható a PL / SQL programozásban:

1. implicit kurzorok

Amint a név jelzi, az implicit kurzorok azok a kurzorok, amelyeket az Oracle automatikusan létrehoz, ha olyan DML utasításokat hajtanak végre, mint például az INSERT, DELETE, UPDATE. Ha a programozó nem hoz létre kurzort, az Oracle önmagában létrehozza azt, hogy a DML utasítások által érintett sorokat megtartsa. Ezeket a kurzorokat a programozó nem tudja megnevezni, ezért a kód más pontjain nem hivatkozhatók és nem használhatók. Bár az Oracle rendelkezik bizonyos attribútumokkal, hogy bizonyos műveleteket rajta végezzen

% FOUND, % NOTOFOUND, % ROWCOUNT, % ISOPEN.

S.No.TulajdonságLeírás
1.%MEGTALÁLTIgaz lesz, ha a DML utasítások, például az INSERT,

A TÖRLÉS, az UPDATE egy vagy több sort érint, vagy a SELECT utasítás egy vagy több sort ad vissza. Ellenkező esetben hamisat ad vissza

2.%NEM TALÁLHATÓEz ellentétes a% FOUND attribútummal. Igazként tér vissza, ha a sorok egyikét sem érinti a DML utasítás, vagy a SELECT utasítás nem ad eredményt. Ellenkező esetben hamisat ad vissza.
3.%NYITVA VANAz implicit kurzorok esetén mindig hamisat ad vissza, mert az Oracle az SQL utasítások végrehajtása után bezárja a kurzort.
4.% ROWCOUNTVisszaadja a sorok számát. Vagyis az említett DML által érintett sorok száma
a programozó utasításai a PL / SQL kódban, például INSERT, DELETE és UPDATE, vagy a SELECT INTO utasítás által visszaadott sorok száma.
Példa

Forgatókönyv: Az összes hallgató pontszámának frissítése 10-zel egy „hallgató” táblában az angol tantárgyban, amelynek „tárgy” oszlopa van.

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. Kifejezett kurzorok

Az explicit kurzorok azok a kurzorok, amelyeket a programozók határoztak meg annak érdekében, hogy jobban ellenőrizzék a környezeti területet (ahol az SQL lekérdezések eredményeit tárolják). Ezeket a kurzorokat először a PL / SQL program deklarációs blokkjában kell meghatározni. Az SQL utasításokhoz készült, amelyek egynél több sort adnak vissza feldolgozásuk után. Van egy speciális eljárás, amelyet be kell tartani az explicit kurzor használatához. Az explicit kurzor használatának lépéseit az alábbiakban említjük:

1. Nyilatkozzon a kurzorra: A környezeti terület / kurzor nevének megadására szolgál a végrehajtandó kiválasztási utasítás mellett.

Szintaxis

CURSOR cursor_name IS SELECT statement;

2. Nyissa meg a kurzort: Nyissa meg a kurzort, hozzárendelje a memóriát, és tegye elérhetővé az SQL utasítás által visszaadott rekordok letöltésére.

Szintaxis

OPEN cursor_name;

3. Húzza le a kurzort: Ebben a folyamatban egyszerre egy sor érhető el. A SELECT utasítás végrehajtásra kerül, és a letöltött sorokat a környezetben tárolják. Beolvassa a nyilvántartásokat, és hozzárendel egy meghatározott változóhoz.

Szintaxis

FETCH cursor_name INTO variable;

4. Zárja be a kurzort: Ezt a lépést a fent megnyitott kurzor bezárására használjuk, hogy a memória elhelyezésre kerüljön, miután az összes tárolt sor sikeresen letöltésre került.

Szintaxis

CLOSE cursor_name;

Példa

Forgatókönyv: Töltse le a táblázatban a hallgatók nevét, címét és százalékos arányát

„hallgató”, amelynek oszlopai „név”, „cím” és „százalék”

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
/

Kurzorműveletek

Ellentétben az SQL-vel, amely az összes sorban működik egy időben beállított eredményben, a kurzort főként a forgatókönyvekben használják, amikor a programozó egyszerre egy sor adatainak feldolgozására és lekérdezésére törekszik.

Az alábbiakban felsorolunk néhány kurzorműveletet:

  1. Kurzor deklarálása : Fontos, hogy a kurzor deklarálásra kerüljön, mielőtt azt felhasználná. A kurzort a feldolgozandó SQL utasítás meghatározásával deklarálják.
  2. Kurzor megnyitása: A deklaráció után a kurzort az SQL utasítás feldolgozása során az adatok visszatérése megnyitja és kitölti.
  3. Kurzor lekérése: A kurzor megnyitása után a kimeneti sorokat egyenként kell letölteni, hogy szükség esetén bármilyen manipulációt végre lehessen hajtani.
  4. Kurzor bezárása: Az összes adatkezelés után. A létrehozott kurzort be kell zárni
  5. Deallocate: Ez a lépés magában foglalja a kurzor törlését, és felszabadítja az összes birtokában lévő erőforrást.

A kurzor fontossága a PL / SQL-ben

A memóriahelyre mutatás és a műveletek ennek megfelelően végrehajtása az egyik legfontosabb feladat bármely programozási nyelvben. A PL / SQL-ben ezt a Cursors végzi. A kurzorok döntő szerepet játszanak a különféle feladatok végrehajtásában, amikor nevet adnak annak a memóriaterületnek (kontextus területnek), ahol az SQL lekérdezések eredménye mentésre kerül. A nyilvántartásokhoz egyenként hozzáférhetünk, és szükség esetén bármilyen manipulációt végrehajthatunk, vagy ennek megfelelően megjeleníthetjük a konzolon. Az explicit kurzorok hatékonyabbak, programozóbb irányítást biztosítanak és kevésbé érzékenyek az adathibákra, így nagyon hasznosak a PL / SQL programozásban, mint az implicit.

Következtetés

Az adatbázis-programozás manapság nagyon népszerű és a PL / SQL az egyik nyelv, amelyet nagyon jól kell használni benne. A kurzorok nagyobb ellenőrzést adnak a programozó számára a visszakeresett adatok eléréséhez. Ahhoz, hogy egy programozó dolgozzon a PL / SQL-n, fontos, hogy ismerje a Cursor használatát és fontosságát a hatékony működéshez.

Ajánlott cikkek

Ez egy útmutató a kurzorokhoz a PL / SQL-ben. Itt a PL / SQL programozásban használt kurzor típusokat és a kurzor műveleteket tárgyaljuk, valamint a kurzor fontosságát. Lehet, hogy megnézi a következő cikkeket is, ha többet szeretne megtudni -

  1. Csatlakozás típusai az SQL-ben
  2. SQL beszúrási lekérdezés
  3. Táblázat SQL-ben
  4. Helyettesítő karakter az SQL-ben
  5. A MySQL 6 legfontosabb csatlakozási típusa példákkal