ПостгреСКЛ функција за враћање табеле

Postgreskl Funkcija Za Vracane Tabele



Понекад ћете можда желети да креирате функцију која враћа табелу у вашу ПостгреСКЛ базу података да би инкапсулирала скуп резултата. Могуће је креирање „пгСКЛ“ функције која вам омогућава да преузмете записе и користи повратни упит који приказује скуп резултата као табелу. Овај пост вас води у креирању ПостгреСКЛ функције која враћа табелу.

Како направити ПостгреСКЛ функцију за враћање табеле

Када имате ПостгреСКЛ базу података и желите да проверите записе из табеле, периодично коришћење функције је најпогоднији начин, посебно ПостгреСКЛ функција која враћа табелу у свом скупу резултата. На овај начин инкапсулирате свој скуп резултата, а коришћење овог приступа помаже у бољој организацији кода.

Следеће је синтакса за креирање ПостгреСКЛ функције која враћа табелу:







ЦРЕАТЕ ОР РЕПЛАЦЕ ФУНЦТИОН фунцтион_наме(параметер_лист)

ТАБЕЛА ПОВРАТАКА(листа_колона)

АС $$

БЕГИН РЕТУРН КУЕРИ(упит);

КРАЈ;

$$ ЈЕЗИК плпгскл

Добра ствар код креирања таквих функција је што вам омогућава да наведете различите „цолумн_лист“ уместо да враћате једну вредност из ваше табеле. Хајде да наведемо два примера који ће нам помоћи да разумемо које кораке треба да следимо.



Пример 1: Рад са једним улазом

Када креирате функцију која враћа табелу, морате навести аргумент који ћете користити са повратним упитом. Аргумент може бити образац или одређени унос. Овај пример даје случај када користимо један улаз као аргумент.



Следи табела „студент“ коју ћемо користити за наш упит:





На следећој слици креирамо функцију под називом „гет_студент“ која узима ИНТ као аргумент. У одељку ТАБЕЛА ПОВРАТА, враћамо табелу са четири колоне: „ид_студент“, „студент_наме“, „студент_фацулти“ и „цуррент_статус“.



Све ове колоне добијају своје вредности из повратног упита који ми дефинишемо. Обратите пажњу да повратни упит користи наредбу ВХЕРЕ користећи листу параметара коју наведемо приликом креирања функције.

Када креирате функцију, добићете излаз сличан ономе који смо претходно имали, што потврђује да је ваша ПостгреСКЛ функција успешно креирана. Да бисте ово додатно проверили, покрените следећу команду да бисте навели доступне функције:

\дф *гет_студент();

Додамо звездице да одговара било којој функцији која има наведено име. Излаз показује да имамо нашу ПостгреСКЛ функцију у нашој бази података.

Последњи корак је тестирање креиране функције. Покрените наредбу „селецт“ да бисте позвали функцију. Затим додајте очекивани аргумент. У нашем случају, параметар је типа ИНТ. Стога, додајемо 1 као аргумент да бисмо преузели записе који му одговарају и вратили табелу као што је приказано у наставку:

Пример 2: Рад са узорком уноса

Када нисте сигурни која је вредност коју треба користити са повратним упитом, можете користити оператор ИЛИКЕ да бисте се подударали са датим обрасцем. На пример, ако имате име и знате само део стринга, оператор ИЛИКЕ вам омогућава да користите симбол „%“ да дефинишете какав ће бити ваш образац.

За овај случај користимо следећу табелу и циљамо колону имена:

Креирамо функцију која је слична оној коју смо радили раније. Међутим, тип параметра се променио и повратни упит користи оператор ИЛИКЕ који се додаје као аргумент приликом позивања функције.

Када је функција спремна, можемо је позвати да врати табелу. Постоје различити начини да се то уради. На пример, ако образац претраге садржи „Јо“ у стрингу, извршавамо командни упит на следећи начин:

Изаберите * из гет_детаилс(‘%Јо%’);

Упарујемо све вредности са „Јо“ у њиховом низу, дајући нам два записа.

Ако знамо само последњи део стринга, изврћемо упит и покрећемо га на следећи начин:

Изаберите * из гет_детаилс(‘%Тисон’);

На крају, ако знамо први део низа, додајемо симбол „&“ после шаблона као што је приказано у наставку:

Изаберите * из гет_детаилс(‘Тим%’);

Ово су различити примери како да користите функцију ПостгреСКЛ за враћање табеле.

Закључак

ПостгреСКЛ је моћна база података са бројним функцијама. Када креирате функције, можете их подесити да враћају табелу као скуп резултата из различитих разлога, укључујући постизање енкапсулације. Овај пост је представио два примера креирања и коришћења функције која враћа табелу у ПостгреСКЛ-у.