PL / SQL bemutató: Minden, amit tudnia kell a PL / SQL-ről

A PL / SQL oktatóanyag a PL / SQL programozás elsajátításához szükséges összes fogalom minden részletes magyarázatát tartalmazza, különféle példákkal

A PL / SQL egy eljárási nyelv, amely kiküszöböli azokat a hiányosságokat, amelyekkel szembe kell néznie Strukturált lekérdezési nyelv . Ez az SQL kiterjesztése, és akár SQL-lekérdezéseket is használhatunk gond nélkül bármely PL / SQL alkalmazásban vagy programban. Ebben a PL / SQL oktatóanyagban részletesen áttekintjük a PL / SQL alapfogalmait. A cikk a következő témákkal foglalkozik.



Mi az a PL / SQL?

Az eljárási nyelv kiterjesztését jelenti a strukturált lekérdezés nyelve . Az Oracle létrehozott PL / SQL-t, amely kiterjeszti az SQL bizonyos korlátozásait, hogy átfogóbb megoldást nyújtson az oracle-en futó, misszió szempontjából kritikus alkalmazások felépítésére. .



logo-pl / sql bemutató - edureka

Jellemzők

  • A PL / SQL biztosítja az olyan eljárási nyelv funkcionalitását, mint a döntéshozatal, az iteráció stb.

  • Egyetlen parancs használatával a PL / SQL számos lekérdezést hajthat végre.



  • Újra felhasználhatjuk a létrehozás után az adatbázisban tárolt PL / SQL egységeket, például függvényeket, triggereket, eljárásokat stb.

  • A PL / SQL-nek van egy kivételkezelő blokkja is, amely a PL / SQL-ben lévő kivételeket kezeli.

  • A PL / SQL segítségével kiterjedt hibakeresés is lehetséges



  • A PL / SQL-ben írt alkalmazások hordozhatók más hardverekre és operációs rendszerekre, feltéve, hogy az oracle-nek működőképesnek kell lennie.

PL / SQL vs SQL

SQL PL / SQL
Az SQL egyetlen lekérdezés, amelyet DDL és DML műveletek végrehajtására használnakA PL / SQL egy kódblokk, amelyet egy teljes program vagy eljárás / függvény stb
Nem igazán határozza meg, hogy a dolgokat hogyan kell csinálni, sokkal inkább azt, hogy mit kell tenniA PL / SQL meghatározza a dolgok végrehajtásának módját
Egyetlen állítást hajt végreAz utasítások blokkját egyszerre hajtja végre.
Az SQL-t elsősorban az adatok manipulálására használjákA PL / SQL-t viszont alkalmazások létrehozására használják
Nem tartalmazhat PL / SQL kódotMivel SQL kiterjesztésről van szó, tartalmazhat benne SQL kódot

Hogyan kezeljük a felugró ablakot a szelén webmeghajtóban

Struktúrák blokkolása PL / SQL-ben

A PL / SQL általában blokkokra rendezi a kódot. A név nélküli kódblokk névtelen blokk néven ismert. Névtelen blokk néven ismert, mert nem menti az oracle adatbázis. Vessen egy pillantást egy anonim blokkra a PL / SQL-ben.

[DECLARE] nyilatkozat [BEGIN] végrehajtási utasítások [EXCEPTION] kivétel utasítások END /

A fenti diagramot megnézve láthatjuk, hogy a blokkszerkezet négy részre oszlik, azaz deklarációra, kezdetre, kivételre és végre. Próbáljuk megérteni, hogyan működik a blokkszerkezet a PL / SQL-ben. Ezen szakaszok közül a végrehajtási szakasz kötelező, a többi pedig opcionális.

  • KIJELENT kulcsszó a deklarációhoz használt szakasz az adattípusok és struktúrák, például változók, függvények stb. deklarálására szolgál.

  • KEZDŐDIK kulcsszó a végrehajtási szakaszhoz. Kötelező és tartalmazza az összes végrehajtandó állítást. Ebben a blokkban definiálják az üzleti logikát, ebben a blokkban mind eljárási, mind SQL utasításokat használhatunk.

  • Az KIVÉTEL kulcsszó a kivétel szakaszban használatos. Az összes kivételes állítást tartalmazza.

  • VÉGE a kulcsszó a blokk végét jelöli, a '/' hátrahasított perjel pedig azt az eszközt mondja meg, amelyet a PL / SQL blokk végrehajtásához használ (Oracle Database Tool).

Itt van egy egyszerű példa arra, hogy bemutassuk, hogyan használhatjuk a PL / SQL kódot.

BULIN NULL END /

Most, hogy tudjuk, hogyan működik a blokkszerkezet PL / SQL-ben, értsük meg a PL / SQL különféle aspektusait, például a változók deklarálását, elnevezését és hozzárendelését.

PL / SQL változók

A PL / SQL változója alapvetően változó név vagy ideiglenes tárhely, amely egy adott adattípust támogat. Vizsgáljuk meg, hogyan használhatjuk a változókat egy PL / SQL programban.

Változó elnevezési szabályok

A PL / SQL a következő szabályokat követi a változók elnevezéséhez.

  • A változó legfeljebb 31 karakter lehet

  • A változó nevének ASCII karakterrel kell kezdődnie. Mivel a PL / SQL megkülönbözteti a kis- és nagybetűket, a nagybetű és a kisbetű különböző változók lesznek.

  • Az első karakter után speciális karakternek ($, _) vagy tetszőleges számnak kell lennie.

Konvenciók elnevezése

A változók használatához használja az alábbiakban felsorolt ​​alábbi elnevezési konvenciókat.

Előtag Adattípus
v_VARCHAR2
n_SZÁM
t_ASZTAL
r_SOR
d_DÁTUM
b_BOOLAI

Nyilatkozat

Próbáljuk megérteni, hogyan történik a változó deklarálása PL / SQL-ben

A deklaráció tartalmazza a változó nevét, amelyet az adattípus követ, pontosvesszővel elválasztva. Az alábbiakban bemutatunk egy példát annak bemutatására, hogyan deklarálhatunk egy változót PL / SQL-ben.

NYILATKOZZA v_name VARCHAR (25) n_age SZÁM (3) BULIN NULL END

Hozzáadhatja az adattípus hosszát is, ahogy a fenti példában tettük.

Horgonyok

A horgony alapvetően a% TYPE kulcsszó használatára utal, amely egy olyan változó deklarálására szolgál, amelynek adattípusa egy adott oszlop oszlopának adattípusához kapcsolódik.

Vessen egy pillantást ennek megértésére. Tegyük fel, hogy van táblázat MUNKAVÁLLALÓK, a következő módon tudjuk használni a horgonyokat.

DECLARE v_name EMPLOYEE.NAME% TYPE n_age EMPLOYEE.AGE% TYPE BEGIN NULL END /

Feladat

A változó hozzárendelése meglehetősen egyszerű, a hozzárendelés operátor segítségével értékeket rendelhetünk egy változóhoz. A következő példa bemutatja, hogyan rendelhetünk értékeket egy változóhoz.

NYILATKOZZA v_name VARCHAR (20) n_course VARCHAR (10) BEGIN v_name = 'edureka' v_course = 'sql' END /

Inicializálás

A változó értékét inicializálhatjuk a deklaráció részben is. A következő példa bemutatja, hogyan inicializálhatjuk az értékeket egy változóra.

DECLARE v_name VARCHAR (20) = 'edureka' n_course VARCHAR (10) = 'sql' BULIN NULL END /

Most, hogy tudjuk, hogyan működhetünk a változókkal, próbáljuk megérteni, hogyan fogjuk használni a függvényeket a PL / SQL-ben.

Funkció PL / SQL-ben

A PL / SQL függvénye alapvetően egy megnevezett blokk, amely értéket ad vissza. Szubrutinnak vagy alprogramnak is nevezik, a következő szintaxis bemutatja, hogyan használhatjuk a PL / SQL függvényeit.

CREATE [VAGY CSERÉLJE] FUNCTION függvény_neve [(paraméter_1 [IN] [OUT] adattípus, paraméter_2 [IN] [OUT] adattípus, paraméter_N [IN] [OUT] adattípus] RETURN return_data_type IS BEGIN utasítások return return_data_type EXCEPTION END /

Először meg kell adnia egy függvény nevét a kulcsszó után. A függvény nevének igével kell kezdődnie. Lehet, hogy egy függvénynek nincs, egy vagy több paramétere, amelyet a paraméterekben adunk meg. Pontosan meg kell adnunk az egyes paraméterek adattípusát, majd meg kell adni azt a módot, amely az alábbiak egyikét képes megvalósítani.

  • BAN BEN - Az IN paraméter csak olvasható paraméter.

  • OUT - Ez csak írási paraméter

  • BE KI - Az IN OUT paraméter egyaránt írási és írási paraméter.

Itt van egy egyszerű példa arra, hogy bemutassuk, hogyan használjuk a függvényeket a PL / SQL-ben.

FUNKCIÓ LÉTREHOZÁSA VAGY CSERÉJE try_parse (iv_szám VARCHAR2-ben) A VISSZATÉRÉS SZÁMA KEZDŐDIK VISSZAÁLLÁS_számra (iv_szám) KIVÉTEL, MIKOR MÁSOK AKKOR VISSZATÉRNEK NULL END

Funkció hívása

Próbáljuk meghívni a következő példában egy névtelen blokkban létrehozott függvényt.

SZOLGÁLTATÁSI KIMENET BEÁLLÍTÁSA MÉRETBEN 1000000 NYILATKOZTATÁS n_y) DBMS_OUTPUT.PUT_LINE (n_z) END /

A függvényt egy SELECT utasításban is meghívhatjuk. Most, hogy tudjuk, hogyan használhatjuk a PL / SQL függvényeit, próbáljuk megérteni, hogyan működünk a PL / SQL eljárásain.

PL / SQL eljárás

Az eljárás alapvetően egy blokk, amely egy adott feladatot végez. Egy eljárás segítségével átfoghatjuk vagy beburkolhatjuk az összetett üzleti logikát, és újra felhasználhatjuk őket mind az alkalmazás, mind az adatbázis rétegben.

Vessen egy pillantást egy egyszerű példára, hogy megértsük, hogyan működik az eljárás PL / SQL-ben

ELJÁRÁS LÉTREHOZÁSA VAGY CSERÉJE kiigazítási fizetés (in_employee_id IN EMPLOYEES.EMPLOYEE_ID% TÍPUS, in_percent SZÁMBAN) KEZDŐDIK

A fenti példában két paraméterünk van, az eljárás egy adott százalékkal igazítja a fizetést, és az UPDATE kulcsszó frissíti a fizetési információk értékét.

Eljárás fejléc

Az IS kulcsszó előtti részt az eljárás fejlécének nevezzük. Az alábbiakban bemutatunk néhány szempontot, amelyet ismernie kell az eljárások során.

  • séma - Ez a séma opcionális neve, amelyhez az eljárás tartozik.

  • név - Az eljárás neve, amelynek igével kell kezdődnie.

  • paraméterek - Ez a paraméterek opcionális listája.

  • HITELES - Meghatározza, hogy az eljárás az aktuális felhasználó vagy az eljárás eredeti tulajdonosának privilégiumával fog-e végrehajtódni.

    hogyan kell levágni java-ban

Eljárási test

Minden, ami az IS kulcsszó után következik, az eljárás törzsének hívják. A nyilatkozat, a kivétel és a végrehajtási nyilatkozatok az eljárás szervében vannak. A függvénnyel ellentétben a RETURN kulcsszó egy eljárásban a végrehajtás leállítására és a vezérlés visszaadására szolgál a hívónak.

Eljárás hívása

Nézzük meg, hogyan hívhatunk meg eljárást PL / SQL-ben.

EXEC eljárás_neve (param1, param2 és hellipparamN)

Az eljárásokat paraméterek nélkül hívhatjuk meg, csak az EXEC kulcsszó és eljárás név használatával. Most, hogy tudjuk, hogyan működhetünk az eljárásokkal, próbáljuk megérteni, hogy a beágyazott blokkokat hogyan használják a PL / SQL.

Beágyazott blokk

A beágyazott blokk nem más, mint egy vagy több PL / SQL blokk kombinációja a program végrehajtásának jobb szabályozása és a program kivételes kezelése érdekében.

Itt van egy egyszerű példa egy beágyazott blokkra.

SZOLGÁLTATÁSI KIMENET BEÁLLÍTÁSA MÉRETBEN 1000000 NYILATKOZAT a munkavállaló '|| n_emp_id ||' értéke '|| v_name) KIVÉTEL MIKOR nem_adatok_találva AKKOR DBMS_OUTPUT.PUT_LINE (' Alkalmazott '|| n_emp_id ||' nem található ') VÉGE END /

A fenti példa külső PL / SQL blokkját szülőblokknak vagy mellék blokknak nevezzük, a belső blokkot viszont gyermekblokknak vagy zárt blokknak nevezzük.

Nem jó ötlet az azonos nevű változókat mindkét blokkban használni, mert a végrehajtás során a gyermekblokk változó felülírja a szülőblokk változót. Azért történik, mert a PL / SQL elsőbbséget ad a változónak a saját blokkjában.

Blokk címke

Ezt a problémát legyőzhetjük azzal a blokkcímkével, amely egy címke segítségével segít a blokkok belsejében található változókra hivatkozni.

Itt van egy egyszerű példa arra, hogy bemutassuk, hogyan használhatunk blokkcímkét.

 <>NYILATKOZZON ... KEZDJE ... VÉGE

A blokkcímke használata javítja a kód olvashatóságát, jobb ellenőrzést és hivatkozásokat tesz a blokkokra. Most, hogy tudjuk, hogyan működhetünk beágyazott blokkokkal, próbáljuk megérteni, hogyan működik az IF STATEMENT PL / SQL-ben.

IF nyilatkozat

A PL / SQL-nek három IF-NYILATKOZATA van

  • HA AKKOR - A legegyszerűbb IF KIMUTATÁS, ha a feltétel igaz, akkor az utasítások végrehajtják, ha hamis a feltétel, akkor nem tesz semmit.

  • HA-AKKOR EGYÉB - Ebben az ELSE záradék kerül hozzáadásra egy alternatív utasítássorozathoz.

  • HA-AKKOR ELSEIF - Ez lehetővé teszi számunkra, hogy egy sorban több tesztfeltételt hajtsunk végre.

HA-AKKOR Szintaxis

IF feltétel THEN sorrend___állapotok VÉGE IF

IF-AKKOR-EGYÉB Szintaxis

IF feltétel THEN szekvencia_f_stat_store ELSE sorozata_else_statements END IF

IF-THEN-ELSEIF szintaxis

IF feltétel1 THEN szekvencia_állapotok1 ELSIF feltétel2 AKKOR sorozatok_állapotok2 ELSE sorozatok_állapotok3 VÉGE IF

Most, hogy elkészültünk az IF STATEMENT-rel, nézzük meg a CASE utasítást PL / SQL-ben.

CASE nyilatkozat

A CASE utasítás alapvetően segít egy szelektoron alapuló utasítássorozat végrehajtásában. A választó ebben az esetben bármi lehet, lehet változó, függvény vagy egyszerű kifejezés. Itt van egy egyszerű példa a CASE utasítás szintaxisának bemutatására PL / SQL-ben.

[<>] ESET [IGAZ | választó] WHEN kifejezés1 AKKOR szekvencia_állapotok1 AKKOR kifejezés2 AKKOR szekvencia_állapotok2 ... MIKOR kifejezésN AKKOR szekvencia_állapotokN [ELSE szekvencia_állapotok N + 1] VÉG ESET [címke_név]

A fenti szintaxisban a CASE kulcsszó után következik a választó. A PL / SQL csak egyszer értékeli a választót, hogy meghatározza, melyik utasítást kell végrehajtani.

A választó követi a WHEN kulcsszót. Ha a kifejezés kielégíti a választót, akkor a THEN kulcsszó utáni megfelelő utasítás végrehajtásra kerül.

Most, hogy tudjuk, hogyan használhatjuk a CASE utasítást, próbáljuk megérteni, hogyan fogjuk használni a ciklus utasításokat a PL / SQL-ben.

Hurok nyilatkozat

A PL / SQL ciklus utasítás iteratív utasítás, amely lehetővé teszi egy utasítássorozat többszöri végrehajtását. Itt van egy egyszerű példa a ciklus utasítás szintaxisának bemutatására PL / SQL-ben.

LOOP sorrend_állapotok VÉGE LOOP

Legalább egy futtatható utasításnak kell lennie a LOOP és az END LOOP kulcsszó között.

Hurok az EXIT nyilatkozattal

Az EXIT és az EXIT amikor az utasítások lehetővé teszik a kilépést a ciklusból. Az EXIT WHEN utasítás feltételesen megszünteti a ciklust, míg az EXIT feltétel nélkül fejezi be a végrehajtást.

LOOP ... KILÉPÉS, ha a feltétel END LOOP

Hurok címke

Egy hurokcímkét használnak a hurokszámláló változó nevének minősítésére, ha beágyazott ciklusban használják. Az alábbiakban egy hurokcímke szintaxisa látható.

 <>LOOP sorrend_állapotok VÉGE LOOP címke

Most, hogy tudjuk, hogyan használhatjuk a ciklus utasításokat, vessünk egy pillantást a ciklus utasításokra a jobb megértés érdekében.

Míg a Hurok nyilatkozat

Akkor használhatjuk a WHILE ciklus utasítást, amikor a végrehajtások megkezdéséig nincs meghatározva a végrehajtások száma. A következő szintaxist egy WHILE ciklus utasításhoz használják PL / SQL-ben.

WHILE feltétel LOOP_állomás_szekvencia_VÉGE

A szintaxisban szereplő feltétel logikai érték vagy kifejezés, amelynek értéke IGAZ, HAMIS vagy NULL. Ha a feltétel IGAZ, akkor az utasítások végrehajtásra kerülnek, ha FALSE, akkor a végrehajtás leáll, és a vezérlő a következő futtatható utasításra megy.

különbség a jquery és a javascript között

Most, hogy tudjuk, hogyan használhatunk WHILE ciklus utasítást, vessünk egy pillantást a FOR ciklus utasításra.

A hurok kimutatásához

A PL ciklusban található FOR ciklus utasítás lehetővé teszi számunkra, hogy egy utasítássorozatot meghatározott számú alkalommal hajtsunk végre. Az alábbiakban bemutatjuk a FOR ciklus utasítás szintaxisát PL / SQL-ben

FOR loop_counter IN [REVERSE] alsó_kötés .. magasabb_kötés LOOP_sorozat_állapotok vége LOOP

A PL / SQL automatikusan létrehoz egy lokális loop_counter változót INTEGER adattípussal a ciklushoz, így nem kell ezt kifejezetten deklarálnia. Az alsóbetét..higherbound az a tartomány, amelyen a hurok megismétlődik. Legalább egy futtatható utasítással kell rendelkeznie a LOOP és az END LOOP kulcsszavak között.

Most, hogy tudjuk, hogyan használhatjuk a ciklus utasításokat a PL / SQL-ben, vessünk egy pillantást a PL / SQL kivételes kezelésére.

Kivételes kezelés

A PL / SQL-ben bármilyen hibát kivételként kezelünk. A kivétel különleges feltételként kezelhető, amely megváltoztathatja vagy megváltoztathatja a végrehajtási folyamatot. A PL / SQL-ben kétféle kivétel létezik.

  • Rendszerkivétel - A PL / SQL futási ideje emeli, amikor hibát észlel.

  • Programozó által meghatározott kivétel - Ezeket a kivételeket a programozó egy adott alkalmazásban határozza meg.

Kivétel meghatározása

A PL / SQL-ben szereplő kivételt deklarálni kell, mielőtt fel lehetne emelni. A kivételt az EXCEPTION kulcsszóval definiálhatjuk, ahogy az alábbi példában is tettük.

EXCEPTION_NAME EXCEPTION

A kivétel kiváltásához a RAISE kulcsszót használjuk.

EMELJE KIVÉTELET_NAME

Tehát ez a PL / SQL-ről szólt, remélem, hogy ez a cikk segített Önnek abban, hogy értéket teremtsen ismereteinek. Az SQL-ről vagy az adatbázisokról további információt itt talál az átfogó olvasási listánkban: .

Ha strukturált képzést szeretne szerezni a MySQL-en, akkor nézze meg a mi oldalunkat amely oktató által vezetett élő képzéssel és valós projekt-tapasztalattal jár. Ez a képzés segít megérteni a MySQL-t alaposan, és elsajátítja a témát.

Van egy kérdésünk? Kérjük, említse meg a megjegyzések részben. ” PL / SQL bemutató ”És visszatérek hozzád.