Kako stvoriti pohranjene procedure u PostgreSQL-u

Kako Stvoriti Pohranjene Procedure U Postgresql U



Uz PostgreSQL, moguće je stvoriti pohranjene procedure koje definiraju različite rutine koje bi se trebale izvršiti kada se pozovu. Ove se rutine sastoje od SQL naredbi koje izvode definirane zadatke na vašoj bazi podataka. Na primjer, možete stvoriti pohranjenu proceduru koja ažurira vrijednosti u vašoj tablici kada je pozovete.

Pohranjene procedure pomažu u optimizaciji baze podataka i u poboljšanju ponovne upotrebe. Umjesto da morate izvršiti isti upit, možete stvoriti zadatak kao pohranjenu proceduru koju ćete pozvati kad god je potrebno. Do kraja ovog posta naučit ćete sve o pohranjenim procedurama.

Rad s pohranjenim procedurama u PostgreSQL-u

Kao PostgreSQL korisnik, možda ste primijetili da PostgreSQL funkcije ne izvršavaju transakcije. Iako je moguće kreirati transakciju, njezino izvršenje ili vraćanje u prethodno stanje nije moguće. Međutim, ta se ograničenja zaobilaze pomoću pohranjenih procedura.







Evo osnovne sintakse za stvaranje pohranjene procedure u PostgreSQL-u:



STVARAJTE ILI ZAMIJENITE PROCEDURU procedure_name(

parametar(i) data_type

)

JEZIK plpsql;

KAO $$

PROGLASITI

varijable_ako_bilo koji_tip podataka

POČETI

logika

KRAJ;

$$

Ključne stvari koje treba imati na umu iz dane sintakse su 'procedure_name' što je naziv koji ćete koristiti za pohranjenu proceduru, parametri koje želite uključiti i njihovi tipovi podataka te logika koja su uglavnom SQL izjave.



Dat ćemo tri primjera koji će vam pomoći da shvatite kako stvoriti pohranjene procedure u PostgreSQL-u.





Primjer 1: Pohranjena procedura za izračunavanje kvadrata broja

Za naš prvi primjer, kreiramo pohranjenu proceduru koja koristi naredbu 'RAISE NOTICE' kao način ispisa izlaza na terminal. Pohranjena procedura uzima vrijednost cijelog broja koju ste joj dali kada je pozivate i izračunava njen kvadrat.

Evo kako stvaramo pohranjenu proceduru:



Naš parametar nazivamo 'num1' i to je cijeli broj. Za logički dio, definiramo kako dobiva kvadrat od 'num1' i pohranjuje ga kao kvadratnu varijablu. Kada izvršimo naredbu, dobivamo izlaz “CREATE PROCEDURE” koji potvrđuje da smo uspjeli uspješno kreirati pohranjenu proceduru.

Sljedeći zadatak je pozvati proceduru i dati joj očekivani argument.

CALL procedure_name(argumenti);

Dobit ćete izlaz CALL koji pokazuje da je pohranjena procedura izvršena, a mi dobivamo očekivani izlaz koji je, u ovom slučaju, kvadrat argumenta koji smo dodali.

Primjer 2: Pohranjena procedura za umetanje vrijednosti u unos tablice

Sljedeća dva primjera pokazuju kako stvoriti pohranjenu proceduru koja radi s tablicom baze podataka. Kreirajmo brzo tablicu 'učenici' s kojom ćemo raditi.

Za ovaj primjer stvaramo pohranjenu proceduru koja korisniku omogućuje umetanje vrijednosti u novostvorenu tablicu. Primijetite kako specificiramo parametre za koje očekujemo da će biti dodani kao argumenti kada pozivamo pohranjenu proceduru. Štoviše, definiramo logiku koja uzima dodane argumente i izvršava INSERT SQL naredbu u tablici “students”.

Dostupne pohranjene procedure možemo provjeriti pokretanjem sljedeće naredbe:

\df

Prva pohranjena procedura koju možemo vidjeti iz sljedećeg izlaza je 'add_student' koju smo prethodno stvorili.

Sada pozovimo pohranjenu proceduru da je izvršimo. Sljedeća slika prikazuje kako imamo praznu tablicu, ali pozvali smo pohranjenu proceduru da dodamo prvog učenika:

Ako ispišemo vrijednosti u našoj tablici, primijetite kako su argumenti koje smo dodali s naredbom poziva procedure vrijednosti za našeg prvog učenika u našoj tablici. Tako stvarate pohranjenu proceduru za umetanje vrijednosti u tablicu.

Imajte na umu da prilikom stvaranja pohranjene procedure parametri koje navedete moraju odgovarati onome što se očekuje u vašoj tablici kako biste izbjegli pogreške. Štoviše, vrsta podataka mora odgovarati.

Primjer 3: Pohranjena procedura za ažuriranje unosa u tablici

Idemo dalje, stvorimo drugu pohranjenu proceduru koja ažurira unos tablice. Ako želite imati brz način ažuriranja vrijednosti u našoj tablici, možete stvoriti ažuriranje pohranjene procedure na sljedeći način:

Odredite koji stupac želite ažurirati pomoću ključne riječi WHERE i novu vrijednost pomoću ključne riječi SET. Zatim morate dodati ključnu riječ COMMIT da biste zadržali promjene.

Pozovimo pohranjenu proceduru ažuriranja i dodajmo očekivane argumente: 'student_id' i novi tečaj.

Ako navedemo unose u našoj tablici, možemo potvrditi da imamo ažurirani tečaj za određenog učenika kojeg smo ciljali. Tako funkcionira pohranjena procedura ažuriranja.

Zaključak

Možete stvoriti bilo koju pohranjenu proceduru u PostgreSQL-u. Trebate samo razumjeti sintaksu koju treba slijediti i zatim definirati svoju logiku za pohranjenu proceduru. Odatle pozovite pohranjenu proceduru i provjerite je li izvršena prema očekivanjima. Ovaj post objašnjava pohranjene procedure u PostgreSQL-u i daje primjere kako ih izraditi.