Kako ustvariti shranjene postopke v PostgreSQL

Kako Ustvariti Shranjene Postopke V Postgresql



S PostgreSQL je mogoče ustvariti shranjene procedure, ki definirajo različne rutine, ki jih je treba izvesti ob klicu. Te rutine so sestavljene iz stavkov SQL, ki izvajajo definirane naloge v vaši bazi podatkov. Ustvarite lahko na primer shranjeno proceduro, ki posodobi vrednosti v vaši tabeli, ko jo pokličete.

Shranjene procedure pomagajo pri optimizaciji baze podatkov in izboljšanju ponovne uporabe. Namesto da bi morali izvesti isto poizvedbo, lahko nalogo ustvarite kot shranjeno proceduro, ki jo boste poklicali, kadar koli bo to potrebno. Do konca te objave boste izvedeli vse o shranjenih postopkih.

Delo s shranjenimi postopki v PostgreSQL

Kot uporabnik PostgreSQL ste morda opazili, da funkcije PostgreSQL ne izvajajo transakcij. Čeprav je transakcijo mogoče ustvariti, je ni mogoče izvršiti ali vrniti v prejšnje stanje. Vendar se te omejitve zaobidejo s shranjenimi postopki.







Tukaj je osnovna sintaksa za ustvarjanje shranjene procedure v PostgreSQL:



USTVARI ALI ZAMENJAJ POSTOPEK ime_procedure(

parameter[s] data_type

)

JEZIK plpsql;

KOT $$

IZJAVA

spremenljivke_če_kateri koli podatkovni_tip

ZAČETI

logika

KONEC;

$$

Ključne stvari, ki jih je treba upoštevati pri dani sintaksi, so »procedure_name«, ki je ime, ki ga boste uporabili za shranjeno proceduro, parametri, ki jih želite vključiti, in njihovi tipi podatkov ter logika, ki so večinoma izjave SQL.



Navedimo tri primere, ki vam bodo pomagali razumeti, kako ustvariti shranjene procedure v PostgreSQL.





Primer 1: Shranjeni postopek za izračun kvadrata števila

Za naš prvi primer ustvarimo shranjeno proceduro, ki uporablja stavek 'RAISE NOTICE' kot način tiskanja izhoda na terminal. Shranjena procedura vzame celoštevilsko vrednost, ki ji jo podate, ko jo pokličete, in izračuna njen kvadrat.

Tako ustvarimo shranjeno proceduro:



Naš parameter imenujemo 'num1' in je celo število. Za logični del definiramo, kako dobi kvadrat »num1« in ga shrani kot kvadratno spremenljivko. Ko izvedemo ukaz, dobimo izpis “CREATE PROCEDURE”, ki potrjuje, da nam je uspelo uspešno ustvariti shranjeno proceduro.

Naslednja naloga je poklicati proceduro in ji podati pričakovani argument.

CALL procedure_name(argumenti);

Dobili boste izhod CALL, ki prikazuje, da je bila shranjena procedura izvedena, mi pa dobimo pričakovani izhod, ki je v tem primeru kvadrat argumenta, ki smo ga dodali.

Primer 2: Shranjeni postopek za vstavljanje vrednosti v vnos tabele

Naslednja dva primera prikazujeta, kako ustvariti shranjeno proceduro, ki deluje s tabelo baze podatkov. Hitro ustvarimo tabelo »študentov«, s katero bomo delali.

Za ta primer ustvarimo shranjeno proceduro, ki uporabniku omogoča vstavljanje vrednosti v novo ustvarjeno tabelo. Opazite, kako podajamo parametre, za katere pričakujemo, da bodo dodani kot argumenti, ko pokličemo shranjeno proceduro. Poleg tega definiramo logiko, ki sprejme dodane argumente in izvede stavek INSERT SQL v tabeli »študentov«.

Razpoložljive shranjene procedure lahko preverimo tako, da zaženemo naslednji ukaz:

\df

Prva shranjena procedura, ki jo lahko vidimo v naslednjem izhodu, je »add_student«, ki smo jo predhodno ustvarili.

Zdaj pa pokličimo shranjeno proceduro, da jo izvedemo. Naslednja slika prikazuje, kako imamo prazno tabelo, vendar smo poklicali shranjeno proceduro, da dodamo prvega študenta:

Če navedemo vrednosti v naši tabeli, opazite, da so argumenti, ki smo jih dodali z ukazom klicne procedure, vrednosti za našega prvega učenca v naši tabeli. Tako ustvarite shranjeno proceduro za vstavljanje vrednosti v tabelo.

Upoštevajte, da se morajo pri ustvarjanju shranjene procedure parametri, ki jih podate, ujemati s pričakovanji v vaši tabeli, da se izognete napakam. Poleg tega se mora vrsta podatkov ujemati.

Primer 3: Shranjeni postopek za posodobitev vnosa v tabeli

Nadaljujmo, ustvarimo še eno shranjeno proceduro, ki posodobi vnos v tabeli. Če želite imeti hiter način posodabljanja vrednosti v naši tabeli, lahko ustvarite shranjeno proceduro posodobitve, kot sledi:

Podajte, kateri stolpec želite posodobiti s ključno besedo WHERE in novo vrednost s ključno besedo SET. Nato morate dodati ključno besedo COMMIT, da ohranite spremembe.

Pokličimo shranjeno proceduro posodobitve in dodamo pričakovane argumente: »student_id« in nov tečaj.

Če navedemo vnose v naši tabeli, lahko preverimo, ali imamo posodobljen tečaj za določenega študenta, ki smo ga ciljali. Tako deluje shranjena procedura posodobitve.

Zaključek

V PostgreSQL lahko ustvarite katero koli shranjeno proceduro. Razumeti morate le sintakso, ki ji morate slediti, in nato definirati svojo logiko za shranjeno proceduro. Od tam pokličite shranjeno proceduro in preverite, ali se je izvršila po pričakovanjih. Ta objava je pojasnila shranjene procedure v PostgreSQL in podala primere, kako jih ustvariti.