MySQL MariaDB

Izveidojiet glabātās procedūras MySQL

Izveidojiet glabātās procedūras MySQL
Saglabātās procedūras ir lietotāja definēts iepriekš sastādītu SQL instrukciju saraksts, kas tiek glabāti un pēc pieprasījuma darbojas MySQL datu bankā, lai izpildītu noteiktu datu bāzes procesu. Tas nozīmē, ka ir iespējams skriptu izmantot atkārtoti. Procedūrai patiešām ir nosaukums, parametru kopa un SQL (-u) paziņojums, lai saglabātā procedūra varētu darboties, pamatojoties uz pārsūtītā parametra vērtību (-ām). Saglabātās procedūras jāveic, izmantojot frāzi CALL. Šajā ceļvedī pamazām izpētīsim jaunu glabātu procedūru ģenerēšanas procesu klauzulā MySQL CREATE PROCEDURE. Tātad sāksim.

Saglabātās procedūras izveide caur darbagaldu:

Atveriet tikko instalēto MySQL Workbench 8.0 un savienojiet to ar root localhost datu bāzi.

Workbench iekšpusē ir bārs Navigator. Zem šīs Navigator joslas ir dažādu MySQL funkciju kopums. Tas ietver datu bāžu, tabulu, saglabāto procedūru un daudz ko citu, kā redzat no attēla, sarakstu.

Izpētot opciju “Galdi”, režģa skatā atradīsit tabulu sarakstu. Kā parādīts zemāk, mums ir tabula “sociālā”.

Ar peles labo pogu noklikšķiniet uz opcijas “Saglabātā procedūra” un noklikšķiniet uz opcijas “Izveidot saglabāto procedūru”, kā parādīts attēlā.

Tiks atvērts jauns logs, kā redzams zemāk esošajā fotoattēlā. Vaicājuma apgabalā saglabātās procedūras nosaukumu var mainīt, noņemot vērtību apgrieztajos komatos.

Tagad jūs varat rediģēt šo vaicājumu atbilstoši savām vēlmēm. Saglabāto procedūru mēs nosaucam par “detaļu”, vienlaikus iegūstot datus no tabulas “social”, kur tās vērtība slejā “Vietne” ir līdzvērtīga “Instagram”."Tas nozīmē, ka veikala procedūra pēc izpildes parādīs tikai tos šīs tabulas ierakstus, kur" vietne "ir" Instagram ".'Noklikšķiniet uz pogas Lietot.

Jūs saņemsiet priekšskatījuma ekrānu, kurā vajadzības gadījumā varat mainīt vai modificēt vaicājumu. Izmantojot Workbench, jūs varat redzēt pilnu jaunizveidotās Stored procedūras sintaksi. Lai to izpildītu, noklikšķiniet uz pogas Lietot.

Ja vaicājumā nav kļūdu, tas darbosies pareizi, kā parādīts zemāk. Pieskarieties pogai Pabeigt.

Aplūkojot opciju Saglabātās procedūras un to atsvaidzinot, tā parādīs jaunizveidoto procedūru.

Veicot šo procedūru, tas parādīs, ka vienīgie ieraksti, kuru kolonnas vērtība ir “Vietne”, ir “Instagram”, kā norādīts zemāk.

Saglabātās procedūras izveide, izmantojot komandrindas čaulu:

Atveriet MySQL 8 komandrindas klienta čaulu.0 un zem tā ievadiet MySQL paroli.

Pieņemsim, ka mums ir tabula ar nosaukumu “record” datu bāzes shēmā “data”. Pārbaudīsim tā ierakstus, izmantojot komandu SELECT šādi:

>> SELECT * FROM dati.ieraksts;

Izmantojiet komandu “use data”, lai izmantotu datu bāzi, kurai vēlaties pievienot saglabāto procedūru.

>> izmantot datus;

01. piemērs: Saglabātā procedūra bez parametriem

Lai izveidotu procedūru bez parametra, tā ir jāizveido ar komandu CREATE PROCEDURE, pirms kuras ir atslēgvārds 'DELIMITER'. Pēc tam mēs izveidojam procedūru ar nosaukumu "Filtrs" bez parametriem. Tas ienes visus ierakstus no tabulas “record”, kur slejas “Country” vērtību beigās ir “ia”. Process jābeidz ar atslēgvārdu “END”.

Mēs izmantosim klauzulu CALL, lai izpildītu saglabāto procedūru komandrindā. Pēc komandas CALL izpildīšanas mums ir šādi rezultāti. Var redzēt, ka vaicājumam ir jāielādē tikai tie ieraksti, kuru kolonnas “Valsts” vērtību beigās ir “ia”.

02. piemērs: Saglabātā procedūra ar vienu parametru

Ir pēdējais laiks ģenerēt procedūru ar vienu parametru. Lai to izdarītu, izmantojiet vaicājumu CREATE PROCEDURE, kuru vada atslēgvārds 'DELIMITER."Tātad mums ir jāizveido procedūra" Rec ", kas kā ievades argumentu ņem vienu vērtību, kurā šajā piemērā lietotājs parametros mainās" Var1 ". Sāciet procedūru ar atslēgvārdu BEGIN. Izraksts SELECT tiek izmantots, lai izgūtu visus ierakstus no tabulas 'record', kur kolonnai 'Name' ir tāda pati vērtība kā 'Var1'. Šī ir ierakstu atbilstība. Pabeidziet saglabāto procedūru ar atslēgvārdu “END”, kam seko “&&” zīmes.

"

Vispirms palaidiet vaicājumu DELIMITER, lai sagatavotos saglabātajai procedūrai. Pēc tam izpildiet vaicājumu CALL, kam seko procedūras nosaukums un tā ievades argumenta vērtība iekavās. Jums vienkārši jāizpilda zemāk parādītā komanda, un jūs saņemsiet rezultātus. Kā mēs esam norādījuši, 'Zafar' savos parametros, tāpēc pēc salīdzināšanas mēs esam ieguvuši šo rezultātu.

03. piemērs: Saglabātā procedūra ar vairākiem parametriem

Apskatīsim, kā procedūra darbojas, kad tai ir nodrošināti vairāki parametri. Neaizmirstiet izmantot atslēgvārdu “DELIMITER” kopā ar “&&” zīmēm. Izmantojiet komandu CREATE PROCEDURE, lai izveidotu procedūru New. Šīs procedūras parametros būs divi argumenti, piemēram, e.g. 'var1' un 'var2'. Sāciet procedūru ar klauzulu BEGIN. Tagad tas ir kaut kas jauns. Klauzula SELECT atkal ienes visus ierakstus no tabulas 'record'. Pirmais lietotāja nodotais arguments tiks pieskaņots kolonnas “Nosaukums” vērtībām. No otras puses, otrais lietotāja nodotais arguments tiks pieskaņots kolonnas “Valsts” vērtībām. Ja ieraksti sakrīt, tas iegūs visus datus no secīgām rindām. Procedūra tiks pabeigta ar atslēgvārdu “END”.

Lai aktivizētu procedūru, izmantojiet atslēgvārdu DELIMITER. Pēc tam izpildiet klauzulu CALL, kam seko saglabātās procedūras nosaukums, kas kopā ar parametru vērtībām ir “Jauns”. No zemāk redzamā attēla ir skaidrs, ka vaicājums ielādēs tikai tabulas “record” ierakstu, ja abas lietotāja ievadītās vērtības sakrīt.

Secinājums:

Šajā rokasgrāmatā esat uzzinājis par dažādiem veidiem, kā izveidot saglabātu procedūru MySQL Workbench un MySQL komandrindas klienta čaulā e.g., Saglabāta procedūra ar parametriem un bez tiem.

Top 5 spēļu tveršanas kartes
Mēs visi esam redzējuši un mīlējuši straumēšanas spēles pakalpojumā YouTube. PewDiePie, Jakesepticye un Markiplier ir tikai daži no labākajiem spēlētā...
Kā izstrādāt spēli Linux
Pirms desmit gadiem maz Linux lietotāju varētu paredzēt, ka viņu iecienītā operētājsistēma kādu dienu būs populāra spēļu platforma komerciālām videosp...
Komerciālo spēļu dzinēju atvērtā koda porti
Bezmaksas, atvērtā koda un starpplatformu spēļu dzinēju atpūtu var izmantot, lai spēlētu vecos, kā arī dažus no diezgan nesenajiem spēļu nosaukumiem. ...