PL / SQL blokk: STRUKTÚRA, Szintaxis, ANONIM PÉLDA

Tartalomjegyzék:

Anonim

Mi az a PL / SQL blokk?

A PL / SQL esetében a kódot nem egysoros formátumban hajtják végre, hanem mindig úgy, hogy a kódot egyetlen blokk nevű elembe csoportosítja. Ebben az oktatóanyagban megismerheti ezeket a blokkokat.

A blokkok mind PL / SQL, mind SQL utasításokat tartalmaznak. Ezeket az utasításokat egészben hajtják végre, nem pedig egyetlen utasítást hajtanak végre egyszerre.

Ebben az oktatóanyagban megtudhatja:

  • Mi az a PL / SQL blokk?
  • Blokk felépítése
  • PL / SQL blokk szintaxis
  • A PL / SQL blokk típusai

Blokk felépítése

A PL / SQL blokkok előre meghatározott struktúrával rendelkeznek, amelyben a kódot csoportosítani kell. Az alábbiakban a PL / SQL blokkok különböző szakaszai találhatók.

  1. Nyilatkozat szakasz
  2. Végrehajtás szakasz
  3. Kivétel-kezelés szakasz

Az alábbi kép szemlélteti a különböző PL / SQL blokkokat és azok szakaszainak sorrendjét.

Nyilatkozati szakasz

Ez a PL / SQL blokkok első szakasza. Ez a szakasz választható rész. Ebben a szakaszban deklaráljuk a blokkban szükséges változók, kurzorok, kivételek, alprogramok, pragma utasítások és gyűjtemények deklarációját. Az alábbiakban még néhány jellemzője van ennek a résznek.

  • Ez a szakasz választható, és kihagyható, ha nincs szükség deklarációkra.
  • Ez legyen a PL / SQL blokk első szakasza, ha van ilyen.
  • Ez a szakasz a 'DECLARE' kulcsszóval kezdődik az indítók és az anonim blokkoláshoz. Más alprogramoknál ez a kulcsszó nem lesz jelen. Ehelyett az alprogramnév meghatározása utáni rész jelöli a deklarációs szakaszt.
  • Ezt a szakaszt mindig követnie kell a végrehajtási szakasznak.

Végrehajtási szakasz

A végrehajtási rész a fő és kötelező rész, amely ténylegesen végrehajtja a benne írt kódot. Mivel a PL / SQL ettől a blokktól várja a futtatható utasításokat, ez nem lehet üres blokk, vagyis legalább egy érvényes futtatható kódsorral kell rendelkeznie. Az alábbiakban még néhány jellemzője van ennek a résznek.

  • Ez tartalmazhat PL / SQL kódot és SQL kódot is.
  • Ez egy vagy több blokkot tartalmazhat beágyazott blokkként.
  • Ez a szakasz a „BEGIN” kulcsszóval kezdődik.
  • Ezt a szakaszt követnie kell az „END” vagy a kivételkezelés szakasznak (ha van)

Kivételkezelő rész:

A kivétel elkerülhetetlen a futás közben fellépő programban, és ennek kezelése érdekében az Oracle blokkokban biztosított egy kivételkezelő részt. Ez a szakasz tartalmazhat PL / SQL utasításokat is. Ez a PL / SQL blokkok opcionális szakasza.

  • Ez a szakasz kezeli a végrehajtási blokkban felvetett kivételt.
  • Ez a szakasz a PL / SQL blokk utolsó része.
  • Az ebből a szakaszból származó vezérlés soha nem térhet vissza a végrehajtási blokkba.
  • Ez a szakasz a „EXCEPTION” kulcsszóval kezdődik.
  • Ezt a szakaszt mindig követnie kell az „END” kulcsszóval.

Az „END” kulcsszó jelöli a PL / SQL blokk végét.

PL / SQL blokk szintaxis

Az alábbiakban látható a PL / SQL blokkszerkezet szintaxisa.

DECLARE --optionalBEGIN --mandatoryEXCEPTION --optionalEND; --mandatory/

Megjegyzés: A blokkot mindig a / jelnek kell követnie, amely a blokk végére vonatkozó információkat elküldi a fordítónak.

A PL / SQL blokk típusai

A PL / SQL blokkok főleg kétféle típusúak.

  1. Névtelen blokkok
  2. Blocks néven

Névtelen blokkok:

Az anonim blokkok PL / SQL blokkok, amelyekhez nincs hozzárendelve név. Ugyanabban a munkamenetben kell létrehozni és használni őket, mert nem tárolódnak a szerveren adatbázis objektumokként.

Mivel nem kell tárolniuk az adatbázisban, nincs szükség fordítási lépésekre. Közvetlenül írják és hajtják végre, az összeállítás és a végrehajtás egyetlen folyamatban történik.

Az alábbiakban további néhány névtelen blokk jellemzője található.

  • Ezeknek a blokkoknak nincs megadva hivatkozási név.
  • Ezek a blokkok a „DECLARE” vagy a „BEGIN” kulcsszóval kezdődnek.
  • Mivel ezek a blokkok nem rendelkeznek referencia névvel, ezeket későbbi célokra nem lehet tárolni. Ezeket ugyanazon a munkameneten kell létrehozni és végrehajtani.
  • Hívhatják a többi megnevezett blokkot, de anonim blokkhoz való hívás nem lehetséges, mivel nincs hivatkozása.
  • Beágyazott blokk lehet benne, amely lehet névvel vagy névtelenül. Bármely blokkba be is ágyazható.
  • Ezeknek a blokkoknak lehet a blokk mindhárom szakasza, amelyben a végrehajtási szakasz kötelező, a másik két szakasz választható.

Elnevezett blokkok:

Az elnevezett blokkoknak egyedi és egyedi nevük van. Ezeket adatbázis-objektumokként tárolják a szerveren. Mivel adatbázis-objektumokként érhetők el, hivatkozni lehet rájuk, vagy felhasználni őket, amíg a szerveren jelen vannak. A megnevezett blokkok fordítási folyamata külön történik, miközben adatbázis-objektumként hozza létre őket.

Az alábbiakban még néhány megnevezett blokk jellemzője található.

  • Ezeket a blokkokat más blokkokból is meghívhatjuk.
  • A blokk felépítése megegyezik egy névtelen blokkéval, azzal a különbséggel, hogy soha nem a „DECLARE” kulcsszóval kezdődik. Ehelyett a „CREATE” kulcsszóval kezdődik, amely utasítja a fordítót, hogy hozza létre adatbázis objektumként.
  • Ezek a blokkok beágyazhatók más blokkokba. Beágyazott blokkokat is tartalmazhat.
  • A megnevezett blokkok alapvetően kétféle típusúak:
  1. Eljárás
  2. Funkció
Ezekről a megnevezett blokkokról az "Eljárás" és a "Funkció" témákban többet megtudhatunk egy későbbi oktatóanyagban.

Összegzés

Az oktatóanyag után ismernie kell a PL / SQL blokkokat és típusait, a blokkok különböző szakaszait és azok használatát. A megnevezett PL / SQL blokkok részletes leírását a későbbi oktatóanyag tárgyalja.