Kā izveidot saglabātās procedūras programmā PostgreSQL

Ka Izveidot Saglabatas Proceduras Programma Postgresql



Izmantojot PostgreSQL, ir iespējams izveidot saglabātas procedūras, kas definē dažādas rutīnas, kas jāizpilda, kad tās tiek izsauktas. Šīs rutīnas sastāv no SQL priekšrakstiem, kas veic definētos uzdevumus jūsu datu bāzē. Piemēram, varat izveidot saglabātu procedūru, kas atjaunina vērtības tabulā, kad to izsaucat.

Saglabātās procedūras palīdz optimizēt datubāzi un uzlabot atkārtotu izmantošanu. Tā vietā, lai izpildītu to pašu vaicājumu, varat izveidot uzdevumu kā saglabātu procedūru, kuru izsauksiet, kad vien tas būs nepieciešams. Jūs uzzināsiet visu par saglabātajām procedūrām līdz šī ieraksta beigām.

Darbs ar saglabātajām procedūrām programmā PostgreSQL

Kā PostgreSQL lietotājs jūs, iespējams, pamanījāt, ka PostgreSQL funkcijas neveic transakcijas. Lai gan ir iespējams izveidot darījumu, nav iespējams to izdarīt vai atgriezt iepriekšējā stāvoklī. Tomēr šie ierobežojumi tiek apieti, izmantojot saglabātās procedūras.







Šeit ir norādīta pamata sintakse, lai izveidotu saglabāto procedūru PostgreSQL:



IZVEIDOT VAI AIZMAIET PROCEDŪRU procedūras_nosaukums(

parametrs(-i) datu_veids

)

VALODA plpsql;

AS $$

DEKLARĒT

mainīgie_ja_jebkurš datu_veids

SĀKT

loģika

BEIGAS;

$$

Galvenās lietas, kas jāņem vērā no dotās sintakses, ir “procedūras_nosaukums”, kas ir nosaukums, ko izmantosit saglabātajai procedūrai, parametri, kurus vēlaties iekļaut, un to datu tipi, kā arī loģika, kas galvenokārt ir SQL priekšraksti.



Sniegsim trīs piemērus, lai palīdzētu jums saprast, kā izveidot saglabātās procedūras programmā PostgreSQL.





1. piemērs: saglabāta procedūra skaitļa kvadrāta aprēķināšanai

Pirmajā piemērā mēs izveidojam saglabātu procedūru, kas izmanto paziņojumu “RAISE NOTICE” kā veidu, kā izdrukāt izvadi terminālī. Saglabātā procedūra ņem veselo skaitļu vērtību, ko piešķirat, to izsaucot, un aprēķina tās kvadrātu.

Lūk, kā mēs izveidojam saglabāto procedūru:



Mēs nosaucam savu parametru kā “num1”, un tas ir vesels skaitlis. Loģiskajai daļai mēs definējam, kā tā iegūst “num1” kvadrātu un saglabā to kā kvadrātveida mainīgo. Kad mēs izpildām komandu, mēs saņemam izvadi “CREATE PROCEDURE”, kas apstiprina, ka mums izdevās veiksmīgi izveidot saglabāto procedūru.

Nākamais uzdevums ir izsaukt procedūru un sniegt tai gaidīto argumentu.

CALL procedras_nosaukums(argumenti);

Jūs saņemsit CALL izvadi, kas parāda, ka saglabātā procedūra ir izpildīta, un mēs saņemam paredzamo izvadi, kas šajā gadījumā ir pievienotā argumenta kvadrāts.

2. piemērs: saglabāta procedūra vērtību ievietošanai tabulas ierakstā

Šie divi piemēri parāda, kā izveidot saglabātu procedūru, kas darbojas ar datu bāzes tabulu. Ātri izveidosim “studentu” tabulu, ar kuru strādāsim.

Šajā piemērā mēs izveidojam saglabātu procedūru, kas ļauj lietotājam ievietot vērtības jaunizveidotajā tabulā. Ievērojiet, kā mēs norādām parametrus, kurus mēs sagaidām, ka tie tiks pievienoti kā argumenti, izsaucot saglabāto procedūru. Turklāt mēs definējam loģiku, kas ņem pievienotos argumentus un izpilda INSERT SQL priekšrakstu tabulā “studenti”.

Mēs varam pārbaudīt pieejamās saglabātās procedūras, izpildot šādu komandu:

\df

Pirmā saglabātā procedūra, ko mēs varam redzēt no tālāk redzamās izvades, ir “add_student”, ko mēs iepriekš izveidojām.

Tagad izsauksim saglabāto procedūru, lai to izpildītu. Nākamajā attēlā parādīts, kā mums ir tukša tabula, bet mēs izsaucām saglabāto procedūru, lai pievienotu pirmo studentu:

Ja mēs uzskaitām vērtības savā tabulā, ievērojiet, kā argumenti, ko pievienojām ar izsaukuma procedūru komandu, ir mūsu pirmā skolēna vērtības mūsu tabulā. Tādā veidā jūs izveidojat saglabātu procedūru vērtību ievietošanai tabulā.

Ņemiet vērā, ka, veidojot saglabāto procedūru, norādītajiem parametriem ir jāatbilst tabulā sagaidāmajiem parametriem, lai izvairītos no kļūdām. Turklāt datu tipam ir jāsakrīt.

3. piemērs: saglabāta procedūra tabulas ieraksta atjaunināšanai

Turpinot, izveidosim citu saglabāto procedūru, kas atjaunina tabulas ierakstu. Ja vēlaties ātri atjaunināt vērtības mūsu tabulā, varat izveidot atjauninājumu saglabāto procedūru šādi:

Norādiet, kuru kolonnu vēlaties atjaunināt, izmantojot atslēgvārdu WHERE, un jauno vērtību, izmantojot atslēgvārdu SET. Pēc tam jums jāpievieno atslēgvārds COMMIT, lai saglabātu izmaiņas.

Izsauksim atjauninājumu saglabāto procedūru un pievienosim sagaidāmos argumentus: “studenta_id” un jauno kursu.

Ja mēs uzskaitām ierakstus savā tabulā, mēs varam pārbaudīt, vai mums ir atjaunināts kurss konkrētajam studentam, kuru mēs atlasījām. Tādā veidā darbojas saglabātā atjauninājuma procedūra.

Secinājums

PostgreSQL varat izveidot jebkuru saglabāto procedūru. Jums tikai jāsaprot sintakse, kas jāievēro, un pēc tam jādefinē saglabātās procedūras loģika. Pēc tam izsauciet saglabāto procedūru un pārbaudiet, vai tā ir izpildīta, kā paredzēts. Šajā ziņojumā tika izskaidrotas PostgreSQL saglabātās procedūras un sniegti piemēri, kā tās izveidot.