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.