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.