Funkcija PostgreSQL za vrnitev tabele

Funkcija Postgresql Za Vrnitev Tabele



Včasih boste morda želeli ustvariti funkcijo, ki vrne tabelo v vaši zbirki podatkov PostgreSQL, da enkapsulira nabor rezultatov. Možno je ustvariti funkcijo »pgSQL«, ki vam omogoča pridobivanje zapisov in uporablja povratno poizvedbo, ki prikaže niz rezultatov kot tabelo. Ta objava vas vodi pri ustvarjanju funkcije PostgreSQL, ki vrne tabelo.

Kako ustvariti funkcijo PostgreSQL za vrnitev tabele

Ko imate bazo podatkov PostgreSQL in želite preveriti zapise iz tabele, je občasna uporaba funkcije najprimernejši način, zlasti funkcije PostgreSQL, ki vrne tabelo v nizu rezultatov. Na ta način enkapsulirate svoj niz rezultatov in uporaba tega pristopa pomaga pri boljši organizaciji kode.

Sledi sintaksa za ustvarjanje funkcije PostgreSQL, ki vrne tabelo:







USTVARI ALI ZAMENJAJ FUNKCIJO ime_funkcije(seznam_parametrov)

RETURNS TABLE (seznam_stolpcev)

KOT $$

BEGIN RETURN QUERY(poizvedba);

KONEC;

$$ JEZIK plpgsql

Dobra stvar pri ustvarjanju takšnih funkcij je, da vam omogoča, da določite različne »column_list«, namesto da vrnete eno samo vrednost iz tabele. Oglejmo si dva primera, ki nam bosta pomagala razumeti, katerim korakom slediti.



Primer 1: Delo z enim vnosom

Ko ustvarjate funkcijo, ki vrne tabelo, morate podati argument, ki ga želite uporabiti pri povratni poizvedbi. Argument je lahko vzorec ali določen vnos. Ta primer prikazuje primer, ko kot argument uporabimo en vnos.



Sledi tabela »študent«, ki jo bomo uporabili za našo poizvedbo:





Na naslednji sliki ustvarimo funkcijo z imenom 'get_student', ki kot argument sprejme INT. V razdelku RETURNS TABLE vrnemo tabelo s štirimi stolpci: »student_id«, »student_name«, »student_faculty« in »current_status«.



Vsi ti stolpci dobijo svoje vrednosti iz povratne poizvedbe, ki jo definiramo. Upoštevajte, da povratna poizvedba uporablja stavek WHERE z uporabo seznama parametrov, ki smo ga podali pri ustvarjanju funkcije.

Ko ustvarite funkcijo, boste dobili podoben rezultat, kot smo ga imeli prej, kar potrjuje, da je bila vaša funkcija PostgreSQL uspešno ustvarjena. Če želite to dodatno preveriti, zaženite naslednji ukaz za seznam razpoložljivih funkcij:

\df *get_student();

Zvezdice dodamo, da se ujemajo s katero koli funkcijo, ki ima navedeno ime. Rezultat kaže, da imamo funkcijo PostgreSQL v naši bazi podatkov.

Zadnji korak je testiranje ustvarjene funkcije. Zaženite stavek »select«, da pokličete funkcijo. Nato dodajte pričakovani argument. V našem primeru je parameter tipa INT. Tako dodamo 1 kot naš argument, da pridobimo zapise, ki se ujemajo z njim, in vrnemo tabelo, kot je prikazano v naslednjem:

Primer 2: Delo z vnosnim vzorcem

Če niste prepričani o vrednosti, ki jo želite uporabiti pri povratni poizvedbi, lahko uporabite operator ILIKE za ujemanje z danim vzorcem. Na primer, če imate ime in poznate samo del niza, vam operater ILIKE omogoča uporabo simbola »%«, da določite, kakšen bo vaš vzorec.

Za ta primer uporabljamo naslednjo tabelo in ciljamo na stolpec imena:

Ustvarimo funkcijo, ki je podobna tisti, ki smo jo naredili prej. Vendar se je tip parametra spremenil in povratna poizvedba uporablja operator ILIKE, ki je dodan kot argument pri klicu funkcije.

Ko je funkcija pripravljena, jo lahko pokličemo, da vrne tabelo. Obstajajo različni načini za to. Na primer, če iskalni vzorec vsebuje »Jo« v nizu, izvedemo ukazno poizvedbo na naslednji način:

Izberite * iz get_details(‘%Jo%’);

Vse vrednosti ujemamo z »Jo« v njihovem nizu, kar nam daje dva zapisa.

Če poznamo samo zadnji del niza, zasukamo poizvedbo in jo izvedemo na naslednji način:

Izberite * iz get_details(‘%Tyson’);

Nazadnje, če poznamo prvi del niza, dodamo simbol »&« za vzorcem, kot je prikazano v nadaljevanju:

Izberite * iz get_details('Tim%');

To so različni primeri, kako uporabiti funkcijo PostgreSQL za vrnitev tabele.

Zaključek

PostgreSQL je zmogljiva zbirka podatkov s številnimi funkcijami. Ko ustvarjate funkcije, jih lahko nastavite tako, da vrnejo tabelo kot niz rezultatov iz različnih razlogov, vključno z doseganjem enkapsulacije. Ta objava je predstavila dva primera ustvarjanja in uporabe funkcije, ki vrne tabelo v PostgreSQL.