„PostgreSQL“ funkcija, skirta lentelę grąžinti

Postgresql Funkcija Skirta Lentele Grazinti



Kartais galbūt norėsite sukurti funkciją, kuri grąžina lentelę jūsų PostgreSQL duomenų bazėje, kad gautų rezultatų rinkinį. Galima sukurti „pgSQL“ funkciją, leidžiančią nuskaityti įrašus ir naudoti grąžinimo užklausą, rodančią rezultatų rinkinį kaip lentelę. Šis įrašas padės jums sukurti PostgreSQL funkciją, kuri grąžina lentelę.

Kaip sukurti „PostgreSQL“ funkciją norint grąžinti lentelę

Kai turite PostgreSQL duomenų bazę ir norite patikrinti įrašus iš lentelės, patogiausias būdas yra periodiškai naudoti funkciją, ypač PostgreSQL funkciją, kuri pateikia lentelę savo rezultatų rinkinyje. Tokiu būdu įtraukiate rezultatų rinkinį, o šio metodo naudojimas padeda geriau organizuoti kodą.

Toliau pateikiama sintaksė, skirta sukurti PostgreSQL funkciją, kuri grąžina lentelę:





KURTI ARBA PAKEISTI FUNKCIJĄ funkcijos_pavadinimas(parametrų_sąrašas)

GRĄŽINIMO LENTELĖ (stulpelių_sąrašas)

AS $$

BEGIN RETURN QUERY(užklausa);

GALAS;

$$ KALBA plpgsql

Geras dalykas kuriant tokias funkcijas yra tai, kad galite nurodyti įvairius „column_list“, o ne grąžinti vieną reikšmę iš lentelės. Pateiksime du pavyzdžius, kurie padės suprasti, kokių veiksmų reikia imtis.



1 pavyzdys: darbas su viena įvestimi

Kurdami funkciją, kuri grąžina lentelę, turite pateikti argumentą, kuris bus naudojamas su grąžinimo užklausa. Argumentas gali būti modelis arba konkreti įvestis. Šiame pavyzdyje pateikiamas atvejis, kai kaip argumentą naudojame vieną įvestį.



Toliau pateikiama „studentų“ lentelė, kurią naudosime savo užklausai:





Kitame paveikslėlyje sukuriame funkciją, pavadintą „get_student“, kuri kaip argumentą naudoja INT. Skiltyje GRĄŽINIMO LENTELĖ pateikiame lentelę su keturiais stulpeliais: „studento_id“, „studento_vardas“, „studento_fakultetas“ ir „dabartinė būsena“.



Visi šie stulpeliai savo reikšmes gauna iš mūsų apibrėžtos grąžinimo užklausos. Atkreipkite dėmesį, kad grąžinimo užklausoje naudojamas WHERE sakinys, naudojant parametrų sąrašą, kurį nurodome kurdami funkciją.

Sukūrę funkciją, gausite panašią išvestį į tą, kurią turėjome anksčiau, kuri patvirtina, kad jūsų PostgreSQL funkcija buvo sėkmingai sukurta. Norėdami tai dar labiau patikrinti, paleiskite šią komandą, kad pateiktumėte galimų funkcijų sąrašą:

\df *get_student();

Pridedame žvaigždutes, kad atitiktų bet kurią funkciją, kuri turi nurodytą pavadinimą. Išvestis rodo, kad mūsų duomenų bazėje yra funkcija PostgreSQL.

Paskutinis žingsnis – sukurtos funkcijos testavimas. Paleiskite teiginį „select“, kad iškviestumėte funkciją. Tada pridėkite laukiamą argumentą. Mūsų atveju parametras yra INT tipo. Taigi, kaip argumentą pridedame 1, kad gautume jį atitinkančius įrašus ir pateiktume lentelę, kaip parodyta toliau:

2 pavyzdys: darbas su įvesties šablonu

Kai nesate tikri, kokią reikšmę naudoti su grąžinimo užklausa, galite naudoti ILIKE operatorių, kad atitiktumėte nurodytą šabloną. Pavyzdžiui, jei turite pavadinimą ir žinote tik eilutės atkarpą, ILIKE operatorius leidžia naudoti simbolį „%“, kad apibrėžtumėte, koks bus jūsų raštas.

Šiuo atveju naudojame šią lentelę ir taikome pavadinimo stulpelį:

Sukuriame funkciją, panašią į tą, kurią atlikome anksčiau. Tačiau parametro tipas pasikeitė ir grąžinimo užklausoje naudojamas operatorius ILIKE, kuris pridedamas kaip argumentas iškviečiant funkciją.

Kai funkcija bus paruošta, galime ją iškviesti, kad grąžintume lentelę. Yra įvairių būdų tai padaryti. Pavyzdžiui, jei paieškos šablono eilutėje yra „Jo“, komandų užklausą vykdome taip:

Pasirinkite * iš get_details('%Jo%');

Visas reikšmes suderiname su „Jo“ jų eilutėje, duodame du įrašus.

Jei žinome tik paskutinę eilutės dalį, užklausą pasukame ir vykdome taip:

Pasirinkite * iš get_details('%Tyson');

Galiausiai, jei žinome pirmąją eilutės dalį, po rašto pridedame simbolį „&“, kaip parodyta toliau:

Pasirinkite * iš get_details('Tim%');

Tai yra skirtingi pavyzdžiai, kaip naudoti PostgreSQL funkciją norint grąžinti lentelę.

Išvada

PostgreSQL yra galinga duomenų bazė su daugybe funkcijų. Kurdami funkcijas galite nustatyti, kad lentelė būtų pateikta kaip rezultatų rinkinys dėl įvairių priežasčių, įskaitant inkapsuliavimą. Šiame įraše pateikti du pavyzdžiai, kaip sukurti ir naudoti funkciją, kuri grąžina lentelę PostgreSQL.