Tárolt eljárások létrehozása a PostgreSQL-ben

Tarolt Eljarasok Letrehozasa A Postgresql Ben



A PostgreSQL segítségével tárolható eljárások hozhatók létre, amelyek különféle rutinokat határoznak meg, amelyeket híváskor végre kell hajtani. Ezek a rutinok SQL utasításokból állnak, amelyek végrehajtják az adatbázisban meghatározott feladatokat. Például létrehozhat egy tárolt eljárást, amely frissíti a táblázat értékeit, amikor meghívja azt.

A tárolt eljárások segítenek az adatbázis-optimalizálásban és az újrafelhasználhatóság javításában. Ahelyett, hogy ugyanazt a lekérdezést kellene végrehajtania, létrehozhatja a feladatot tárolt eljárásként, amelyet szükség esetén bármikor meghívhat. A bejegyzés végére mindent megtudhat a tárolt eljárásokról.

Tárolt eljárások használata PostgreSQL-ben

PostgreSQL-felhasználóként észrevehette, hogy a PostgreSQL-függvények nem hajtanak végre tranzakciókat. Bár lehetséges tranzakciót létrehozni, a véglegesítés vagy az előző állapotba való visszaállítás nem lehetséges. Ezeket a korlátozásokat azonban a tárolt eljárások segítségével megkerülhetjük.







Íme az alapvető szintaxis a PostgreSQL-ben tárolt eljárás létrehozásához:



ELJÁRÁS LÉTREHOZÁSA VAGY CSERÉJE procedúra_neve(

paraméter(ek) adattípus

)

NYELV plpsql;

AS $$

KIJELENT

változók_ha_bármilyen adattípus

KEZDŐDIK

logika

VÉGE;

$$

A legfontosabb dolog, amit meg kell jegyezni az adott szintaxisból, a „procedure_name” név, amelyet a tárolt eljáráshoz fog használni, a belefoglalni kívánt paraméterek és azok adattípusai, valamint a logika, amelyek főként SQL utasítások.



Nézzünk három példát, amelyek segítenek megérteni, hogyan hozhatók létre a tárolt eljárások PostgreSQL-ben.





1. példa: Tárolt eljárás egy szám négyzetének kiszámítására

Első példánkban létrehozunk egy tárolt eljárást, amely a „RAISE NOTICE” utasítást használja a kimenet terminálra történő kinyomtatására. A tárolt eljárás felveszi a hívásakor megadott egész értéket, és kiszámítja a négyzetét.

Így hozzuk létre a tárolt eljárást:



Paraméterünket „szám1”-nek nevezzük, és ez egy egész szám. A logikai résznél meghatározzuk, hogyan kapja meg a „szám1” négyzetét, és tárolja azt négyzetváltozóként. Amikor végrehajtjuk a parancsot, a „CREATE PROCEDURE” kimenetet kapjuk, amely megerősíti, hogy sikerült a tárolt eljárást létrehozni.

A következő feladat az eljárás meghívása és a várt argumentum megadása.

CALL eljárás_neve(argumentumok);

Megkapja a CALL kimenetet, amely azt mutatja, hogy a tárolt eljárás végrehajtásra került, és megkapjuk a várt kimenetet, amely ebben az esetben az általunk hozzáadott argumentum négyzete.

2. példa: Tárolt eljárás az értékek beszúrására egy táblázatbejegyzésbe

A következő két példa bemutatja, hogyan hozható létre egy adatbázistáblával működő tárolt eljárás. Gyorsan készítsük el a „tanulók” táblázatot, amellyel dolgozni fogunk.

Ebben a példában létrehozunk egy tárolt eljárást, amely lehetővé teszi a felhasználó számára, hogy beillessze az értékeket az újonnan létrehozott táblába. Figyeljük meg, hogyan adjuk meg azokat a paramétereket, amelyeket elvárunk argumentumként hozzáadni a tárolt eljárás meghívásakor. Ezenkívül meghatározzuk azt a logikát, amely átveszi a hozzáadott argumentumokat, és végrehajt egy INSERT SQL utasítást a „diákok” táblába.

Az elérhető tárolt eljárásokat a következő parancs futtatásával ellenőrizhetjük:

\df

Az első tárolt eljárás, amelyet a következő kimenetből láthatunk, a korábban létrehozott „add_student”.

Most hívjuk meg a tárolt eljárást a végrehajtásához. A következő képen látható, hogy van egy üres táblázatunk, de meghívtuk a tárolt eljárást az első tanuló hozzáadásához:

Ha felsoroljuk az értékeket a táblázatunkban, akkor figyeljük meg, hogy a call procedúra paranccsal hozzáadott argumentumok mennyire a táblázatunk első tanulójának értékei. Így hoz létre egy tárolt eljárást az értékek táblázatba történő beszúrásához.

Vegye figyelembe, hogy a tárolt eljárás létrehozásakor a megadott paramétereknek meg kell egyeznie a táblában elvártakkal a hibák elkerülése érdekében. Ezenkívül az adattípusnak meg kell egyeznie.

3. példa: Tárolt eljárás egy táblázatbejegyzés frissítéséhez

Továbblépve hozzunk létre egy másik tárolt eljárást, amely frissíti a táblabejegyzést. Ha gyorsan szeretné frissíteni a táblázatunkban szereplő értékeket, létrehozhat egy tárolt frissítési eljárást az alábbiak szerint:

Adja meg, hogy melyik oszlopot szeretné frissíteni a WHERE kulcsszóval, és az új értéket a SET kulcsszóval. Ezután hozzá kell adnia a COMMIT kulcsszót a változtatások megőrzéséhez.

Hívjuk meg a frissített tárolt eljárást, és adjuk hozzá a várt argumentumokat: „student_id” és az új kurzus.

Ha felsoroljuk a bejegyzéseket a táblázatunkban, akkor ellenőrizhetjük, hogy megvan-e az általunk megcélzott hallgató frissített kurzusa. Így működik a tárolt frissítési eljárás.

Következtetés

A PostgreSQL-ben bármilyen tárolt eljárást létrehozhat. Csak a követendő szintaxist kell megértenie, majd meg kell határoznia a tárolt eljárás logikáját. Innentől hívja meg a tárolt eljárást, és ellenőrizze, hogy a várt módon futott-e le. Ez a bejegyzés ismerteti a PostgreSQL-ben tárolt eljárásokat, és példákat mutat be azok létrehozására.