PostgreSQL függvény a táblázat visszaadásához

Postgresql Fuggveny A Tablazat Visszaadasahoz



Néha érdemes lehet létrehozni egy függvényt, amely egy táblát ad vissza a PostgreSQL adatbázisban az eredménykészlet beágyazásához. Lehetséges egy „pgSQL” függvény létrehozása, amely lehetővé teszi a rekordok lekérését, és egy visszatérési lekérdezést használ, amely táblázatként jeleníti meg az eredménykészletet. Ez a bejegyzés elvezeti Önt egy táblázatot visszaadó PostgreSQL-függvény létrehozásához.

Hogyan hozzunk létre egy PostgreSQL függvényt a táblázat visszaadásához

Ha van egy PostgreSQL adatbázisa, és szeretné ellenőrizni a rekordokat a táblából, akkor a legkényelmesebb módja egy függvény időszakos használata, különösen egy olyan PostgreSQL függvény, amely egy táblát ad vissza az eredménykészletében. Ily módon beágyazza az eredménykészletet, és ezzel a megközelítéssel segít a jobb kódszervezésben.

A következő szintaxis egy táblázatot visszaadó PostgreSQL-függvény létrehozásához szükséges:







FUNKCIÓ LÉTREHOZÁSA VAGY CSERÉJE függvény_neve(paraméterlista)

VISSZATÉRÉSI TÁBLÁZAT(oszlop_lista)

AS $$

BEGIN RETURN QUERY(query);

VÉGE;

$$ NYELV plpgsql

Az ilyen függvények létrehozásában az a jó, hogy lehetővé teszi különböző „column_list” megadását ahelyett, hogy egyetlen értéket adna vissza a táblából. Lássunk két példát, amelyek segítenek megérteni, milyen lépéseket kell követnünk.



1. példa: Munka egyetlen bemenettel

Táblázatot visszaadó függvény létrehozásakor meg kell adnia a visszatérési lekérdezéshez használandó argumentumot. Az argumentum lehet minta vagy adott bemenet. Ez a példa egy olyan esetet mutat be, amikor egyetlen bemenetet használunk argumentumként.



A következő a „tanuló” táblázat, amelyet a lekérdezéshez fogunk használni:





A következő képen létrehozunk egy „get_student” nevű függvényt, amely egy INT-t vesz argumentumként. A VISSZATÉRÍTÉSI TÁBLÁZAT részben egy négy oszlopot tartalmazó táblázatot adunk vissza: a „student_id”, „student_name”, „student_faculty” és „current_status”.



Mindezek az oszlopok az általunk meghatározott visszatérési lekérdezésből kapják az értéket. Figyelje meg, hogy a visszatérési lekérdezés egy WHERE utasítást használ a függvény létrehozásakor megadott paraméterlista használatával.

Miután létrehozta a függvényt, egy hasonló kimenetet fog kapni, mint amilyennel korábban rendelkeztünk, amely megerősíti, hogy a PostgreSQL függvény sikeresen létrejött. Ennek további ellenőrzéséhez futtassa a következő parancsot az elérhető funkciók felsorolásához:

\df *get_student();

A csillagokat hozzáadjuk minden olyan függvényhez, amely a megadott névvel rendelkezik. A kimenet azt mutatja, hogy az adatbázisunkban megtalálható a PostgreSQL függvény.

Az utolsó lépés a létrehozott függvény tesztelése. Futtassa a „select” utasítást a függvény meghívásához. Ezután adja hozzá a várt argumentumot. Esetünkben a paraméter INT típusú. Így az 1-et adjuk hozzá argumentumként, hogy lekérjük a neki megfelelő rekordokat, és egy táblázatot adjunk vissza, amint azt az alábbiakban bemutatjuk:

2. példa: Munka beviteli mintával

Ha nem biztos abban, hogy mekkora értéket kell használni a visszatérési lekérdezéshez, az ILIKE operátort használhatja egy adott minta egyeztetésére. Például, ha van egy neve, és a karakterláncnak csak egy részét ismeri, az ILIKE operátor lehetővé teszi, hogy a „%” szimbólumot használja a minta meghatározásához.

Ebben az esetben a következő táblázatot használjuk, és a név oszlopot célozzuk meg:

Létrehozunk egy függvényt, amely hasonló ahhoz, amit korábban csináltunk. A paraméter típusa azonban megváltozott, és a visszatérési lekérdezés az ILIKE operátort használja, amely argumentumként kerül hozzáadásra a függvény meghívásakor.

Ha a függvény készen van, meghívhatjuk, hogy visszaadjuk a táblát. Különböző módok vannak erre. Például, ha a keresési minta a „Jo” karakterláncot tartalmazza, akkor a parancslekérdezést a következőképpen hajtjuk végre:

Válassza a *-ot a get_details('%Jo%') közül;

Minden értéket a „Jo”-val egyeztetünk a karakterláncukban, így két rekordot kapunk.

Ha egy karakterláncnak csak az utolsó részét ismerjük, csavarjuk a lekérdezést, és a következőképpen futtatjuk:

Válassza a *-ot a get_details('%Tyson') listából;

Végül, ha ismerjük a karakterlánc első részét, a minta után adjuk hozzá az „&” szimbólumot az alábbiak szerint:

Válassza a *-ot a get_details('Tim%') közül;

Ezek a különböző példák arra vonatkozóan, hogyan lehet a PostgreSQL függvényt tábla visszaadására használni.

Következtetés

A PostgreSQL egy hatékony adatbázis számos funkcióval. Függvények létrehozásakor beállíthatja azokat úgy, hogy egy táblázatot adjanak vissza eredményhalmazként különböző okokból, beleértve a beágyazás elérését. Ez a bejegyzés két példát mutatott be egy táblázatot visszaadó függvény létrehozására és használatára a PostgreSQL-ben.