PostgreSQL funkcija tabulas atgriešanai

Postgresql Funkcija Tabulas Atgriesanai



Dažreiz, iespējams, vēlēsities izveidot funkciju, kas atgriež tabulu jūsu PostgreSQL datu bāzē, lai iekapsulētu rezultātu kopu. Ir iespējams izveidot funkciju “pgSQL”, kas ļauj izgūt ierakstus un izmanto atgriešanas vaicājumu, kas parāda rezultātu kopu kā tabulu. Šī ziņa palīdz jums izveidot PostgreSQL funkciju, kas atgriež tabulu.

Kā izveidot PostgreSQL funkciju, lai atgrieztu tabulu

Ja jums ir PostgreSQL datu bāze un vēlaties pārbaudīt ierakstus no tabulas, ērtākais veids ir periodiski izmantot funkciju, jo īpaši PostgreSQL funkciju, kas atgriež tabulu savā rezultātu kopā. Tādā veidā jūs iekapsulējat savu rezultātu kopu, un šīs pieejas izmantošana palīdz labāk organizēt kodu.

Tālāk ir norādīta sintakse, lai izveidotu PostgreSQL funkciju, kas atgriež tabulu:







IZVEIDOT VAI AIZSTĀT FUNKCIJU funkcijas_nosaukums(parametru_saraksts)

ATGRIEŠANAS TABULA(kolonnu_saraksts)

AS $$

BEGIN RETURN QUERY(vaicājums);

BEIGAS;

$$ VALODA plpgsql

Labā lieta, veidojot šādas funkcijas, ir tā, ka tā ļauj norādīt dažādus “column_list”, nevis atgriezt vienu vērtību no tabulas. Apskatīsim divus piemērus, kas palīdzēs mums saprast, kādas darbības jāveic.



1. piemērs. Darbs ar vienu ievadi

Veidojot funkciju, kas atgriež tabulu, jums ir jāiesniedz arguments, ko izmantot ar atgriešanas vaicājumu. Arguments var būt modelis vai konkrēta ievade. Šis piemērs parāda gadījumu, kad mēs izmantojam vienu ievadi kā argumentu.



Šī ir “studentu” tabula, ko izmantosim savam vaicājumam:





Nākamajā attēlā mēs izveidojam funkciju ar nosaukumu “get_student”, kas kā argumentu izmanto INT. Sadaļā ATGRIEŠANAS TABULA mēs atgriežam tabulu ar četrām kolonnām: 'studenta_id', 'studenta_nosaukums', 'studenta_fakultāte' un 'pašreizējais_statuss'.



Visas šīs kolonnas iegūst vērtības no mūsu definētā atgriešanas vaicājuma. Ņemiet vērā, ka atgriešanas vaicājumā tiek izmantots priekšraksts WHERE, izmantojot parametru sarakstu, ko norādām, veidojot funkciju.

Kad esat izveidojis funkciju, jūs iegūsit līdzīgu izvadi tai, kas mums bija iepriekš, kas apstiprina, ka jūsu PostgreSQL funkcija tika veiksmīgi izveidota. Lai to vēl vairāk pārbaudītu, palaidiet šo komandu, lai uzskaitītu pieejamās funkcijas:

\df *get_student();

Mēs pievienojam zvaigznītes, lai tās atbilstu jebkurai funkcijai, kurai ir norādītais nosaukums. Izvade parāda, ka mūsu datu bāzē ir funkcija PostgreSQL.

Pēdējais solis ir izveidotās funkcijas pārbaude. Palaidiet paziņojumu “select”, lai izsauktu funkciju. Pēc tam pievienojiet paredzamo argumentu. Mūsu gadījumā parametra tips ir INT. Tādējādi mēs pievienojam 1 kā argumentu, lai izgūtu tai atbilstošos ierakstus un atgrieztu tabulu, kā parādīts tālāk.

2. piemērs. Darbs ar ievades modeli

Ja neesat pārliecināts par vērtību, kas jāizmanto ar atgriešanas vaicājumu, varat izmantot operatoru ILIKE, lai atbilstu noteiktajam modelim. Piemēram, ja jums ir nosaukums un jūs zināt tikai virknes sadaļu, operators ILIKE ļauj izmantot simbolu “%”, lai noteiktu, kāds būs jūsu raksts.

Šajā gadījumā mēs izmantojam šādu tabulu un mērķējam uz nosaukuma kolonnu:

Mēs izveidojam funkciju, kas ir līdzīga tai, ko veicām iepriekš. Tomēr parametra veids ir mainījies, un atgriešanas vaicājumā tiek izmantots operators ILIKE, kas tiek pievienots kā arguments, izsaucot funkciju.

Kad funkcija ir gatava, mēs varam to izsaukt, lai atgrieztu tabulu. Ir dažādi veidi, kā to darīt. Piemēram, ja meklēšanas paraugs virknē satur “Jo”, mēs izpildām komandas vaicājumu šādi:

Izvēlieties * no get_details('%Jo%');

Mēs saskaņojam visas vērtības ar “Jo” to virknē, dodot mums divus ierakstus.

Ja mēs zinām tikai virknes pēdējo daļu, mēs pagriežam vaicājumu un izpildām to šādi:

Izvēlieties * no get_details ('% Tyson');

Visbeidzot, ja mēs zinām virknes pirmo daļu, mēs pievienojam simbolu “&” aiz raksta, kā parādīts tālāk.

Izvēlieties * no get_details('Tim%');

Šie ir dažādi piemēri, kā izmantot PostgreSQL funkciju, lai atgrieztu tabulu.

Secinājums

PostgreSQL ir spēcīga datu bāze ar daudzām funkcijām. Veidojot funkcijas, varat iestatīt, lai tās atgrieztu tabulu kā rezultātu kopu dažādu iemeslu dēļ, tostarp, lai panāktu iekapsulēšanu. Šajā ziņojumā tika parādīti divi piemēri, kā izveidot un izmantot funkciju, kas atgriež tabulu programmā PostgreSQL.