Funkcia PostgreSQL na vrátenie tabuľky

Funkcia Postgresql Na Vratenie Tabulky



Niekedy možno budete chcieť vytvoriť funkciu, ktorá vráti tabuľku vo vašej databáze PostgreSQL na zapuzdrenie sady výsledkov. Je možné vytvoriť funkciu „pgSQL“, ktorá vám umožní získať záznamy a použije návratový dotaz, ktorý zobrazí sadu výsledkov ako tabuľku. Tento príspevok vás prevedie vytvorením funkcie PostgreSQL, ktorá vráti tabuľku.

Ako vytvoriť funkciu PostgreSQL na vrátenie tabuľky

Ak máte databázu PostgreSQL a chcete kontrolovať záznamy z tabuľky, periodické používanie funkcie je najvhodnejším spôsobom, najmä funkcia PostgreSQL, ktorá vracia tabuľku vo svojej množine výsledkov. Týmto spôsobom zapuzdrete svoju množinu výsledkov a použitie tohto prístupu pomáha s lepšou organizáciou kódu.

Nasleduje syntax na vytvorenie funkcie PostgreSQL, ktorá vracia tabuľku:







VYTVORIŤ ALEBO NAHRADIŤ FUNKCIU názov_funkcie (zoznam_parametrov)

TABUĽKA VRÁTENÍ (zoznam_stĺpcov)

AKO $$

BEGIN RETURN QUERY(dopyt);

KONIEC;

$$ LANGUAGE plpgsql

Dobrá vec na vytváraní takýchto funkcií je, že vám umožňuje zadať rôzne „zoznam_stĺpcov“ namiesto vrátenia jednej hodnoty z tabuľky. Uveďme dva príklady, ktoré nám pomôžu pochopiť, aké kroky máme nasledovať.



Príklad 1: Práca s jedným vstupom

Pri vytváraní funkcie, ktorá vracia tabuľku, musíte zadať argument, ktorý sa má použiť s návratovým dotazom. Argumentom môže byť vzor alebo špecifický vstup. Tento príklad uvádza prípad, keď ako argument použijeme jeden vstup.



Nasleduje tabuľka „študent“, ktorú použijeme pre náš dotaz:





Na nasledujúcom obrázku vytvoríme funkciu s názvom „get_student“, ktorá berie ako argument INT. V časti TABUĽKA NÁVRATOV vrátime tabuľku so štyrmi stĺpcami: „id_študenta“, „meno_študenta“, „fakulta_študenta“ a „aktuálny_stav“.



Všetky tieto stĺpce získavajú svoje hodnoty z návratového dotazu, ktorý definujeme. Všimnite si, že návratový dotaz používa príkaz WHERE pomocou zoznamu parametrov, ktorý zadáme pri vytváraní funkcie.

Po vytvorení funkcie získate výstup podobný tomu, ktorý sme mali predtým, čo potvrdzuje, že vaša funkcia PostgreSQL bola úspešne vytvorená. Ak to chcete ďalej overiť, spustite nasledujúci príkaz, aby ste zobrazili zoznam dostupných funkcií:

\df *get_student();

Hviezdičky pridávame tak, aby zodpovedali akejkoľvek funkcii, ktorá má zadaný názov. Výstup ukazuje, že v našej databáze máme funkciu PostgreSQL.

Posledným krokom je otestovanie vytvorenej funkcie. Spustite príkaz „select“ na zavolanie funkcie. Potom pridajte očakávaný argument. Pre náš prípad je parameter typu INT. Preto pridávame 1 ako náš argument, aby sme získali záznamy, ktoré sa mu zhodujú, a vrátime tabuľku, ako je znázornené v nasledujúcom texte:

Príklad 2: Práca so vstupným vzorom

Ak si nie ste istí hodnotou, ktorá sa má použiť s návratovým dotazom, môžete použiť operátor ILIKE na zhodu s daným vzorom. Napríklad, ak máte meno a poznáte iba časť reťazca, operátor ILIKE vám umožní použiť symbol „%“ na definovanie toho, ako bude váš vzor vyzerať.

V tomto prípade používame nasledujúcu tabuľku a zameriavame sa na stĺpec názvu:

Vytvoríme funkciu, ktorá je podobná tej, ktorú sme urobili predtým. Typ parametra sa však zmenil a návratový dotaz používa operátor ILIKE, ktorý sa pridáva ako argument pri volaní funkcie.

Keď je funkcia pripravená, môžeme ju zavolať a vrátiť tabuľku. Dá sa na to ísť rôznymi spôsobmi. Napríklad, ak vzor vyhľadávania obsahuje v reťazci „Jo“, vykonáme príkazový dotaz takto:

Vyberte * z get_details(‘%Jo%’);

Všetky hodnoty spárujeme s „Jo“ v ich reťazci, čím získame dva záznamy.

Ak poznáme iba poslednú časť reťazca, skrútime dotaz a spustíme ho takto:

Vyberte * z get_details(‘%Tyson’);

Nakoniec, ak poznáme prvú časť reťazca, pridáme za vzor symbol „&“, ako je znázornené v nasledujúcom texte:

Vyberte * z get_details(‘Tim%’);

Toto sú rôzne príklady použitia funkcie PostgreSQL na vrátenie tabuľky.

Záver

PostgreSQL je výkonná databáza s množstvom funkcií. Pri vytváraní funkcií ich môžete nastaviť tak, aby vracali tabuľku ako sadu výsledkov z rôznych dôvodov vrátane dosiahnutia zapuzdrenia. Tento príspevok predstavil dva príklady vytvorenia a použitia funkcie, ktorá vracia tabuľku v PostgreSQL.