MySQL MariaDB

Looge MySQL-is salvestatud protseduurid

Looge MySQL-is salvestatud protseduurid
Salvestatud protseduurid on kasutaja poolt määratletud eelnevalt koostatud SQL-käskude loend, mida hoitakse ja hallatakse MySQL-i andmepangas nõudmisel konkreetse andmebaasiprotsessi käivitamiseks. See tähendab, et on tõenäoline, et skripti kasutatakse uuesti. Protseduuril on pealkiri, parameetrite komplekt ja SQL-i (de) avaldus, nii et salvestatud protseduur saaks toimida ülekantud parameetri väärtuse (de) põhjal. Salvestatud protseduurid tuleks käivitada fraasi CALL abil. Uurime selles juhendis järk-järgult MySQL CREATE PROCEDURE klauslis uute salvestatud protseduuride loomise protsessi. Nii et alustame.

Loo salvestatud protseduur töölaua kaudu:

Avage äsja installitud MySQL Workbench 8.0 ja ühendage see root localhost andmebaasiga.

Workbenchi sees on riba Navigator. Selle navigaatori riba all on hulk MySQL-i erinevaid funktsioone. See sisaldab loendit andmebaasidest, tabelitest, salvestatud protseduuridest ja palju muud, nagu pildilt näha.

Valikut „Tabelid” uurides leiate tabelite loendi ruudustikuvaatest. Nagu allpool näidatud, on meil tabel "sotsiaalne".

Paremklõpsake valikul „Salvestatud protseduur” ja klõpsake valikul „Loo salvestatud protseduur”, nagu pildil näidatud.

Avatakse uus aken, nagu on näha alloleval fotol. Päringualal salvestatud protseduuri nime saate muuta, eemaldades väärtuse ümberpööratud komades.

Nüüd saate seda päringut vastavalt oma soovile muuta. Nimetame salvestatud protseduuri detailiks, hankides samal ajal andmeid tabelist „sotsiaalne“, kus selle väärtus veerus „Veebisait“ on samaväärne väärtusega „Instagram“."See tähendab, et poeprotseduur näitab täitmisel ainult neid tabeli kirjeid, kus" veebisait "on Instagram.Klõpsake nuppu Rakenda.

Saate eelvaate ekraani, kus saate oma päringut vajadusel muuta või muuta. Tööpingi kaudu näete vastloodud salvestatud protseduuri täielikku süntaksit. Selle täitmiseks klõpsake nuppu Rakenda.

Kui päringus pole vigu, töötab see õigesti, nagu allpool näidatud. Puudutage nuppu Lõpeta.

Kui vaatate salvestatud protseduuride valikut ja värskendate seda, näitab see teile äsja loodud protseduuri.

Selle protseduuri täitmisel näitab see, et ainsad veeru väärtusega „Veebisait“ väärtusega kirjed on „Instagram“, nagu allpool.

Salvestatud protseduuri loomine käsurea kestaga:

Avage MySQL 8 käsurea kliendi kest.0 ja sisestage selle alla MySQL-i parool.

Oletame, et meil on andmebaasi skeemis 'data' tabel nimega 'record'. Kontrollime selle kirjeid käsuga SELECT järgmiselt:

>> SELECT * FROM andmetest.plaat;

Andmebaasi, kuhu soovite salvestatud protseduuri lisada, kasutage käsku 'use data'.

>> kasutada andmeid;

Näide 01: Parameetriteta salvestatud protseduur

Parameetrita protseduuri loomiseks peate selle looma käsuga CREATE PROCEDURE, millele eelneb märksõna 'DELIMITER'. Seejärel loome protseduuri nimega "Filter" ilma parameetriteta. See toob kõik kirjed tabelist "rekord", kus veeru "Riik" väärtuste lõpus on "ia". Protsess tuleks lõpetada märksõnaga "END".

Salvestatud protseduuri käivitamiseks käsureal kasutame klauslit CALL. CALL-i käivitamisel on meil järgmised tulemused. Näete, et päring peab tooma ainult neid kirjeid, mille veerus 'Riik' on väärtuste lõpus 'ia'.

Näide 02: Salvestatud protseduur ühe parameetriga

On viimane aeg luua ühe parameetriga protseduur. Selleks kasutage päringut CREATE PROCEDURE, mille pealkiri on märksõna 'DELIMITER."Niisiis, me peame looma protseduuri" Rec ", mis võtab sisendargumendina ühe väärtuse, mille kasutaja on selles näites parameetrites muutuja" Var1 ". Alustage protseduuri märksõnaga „BEGIN”. Lauset SELECT kasutatakse kõigi kirjete toomiseks tabelist "rekord", kus veerul "Nimi" on sama väärtus kui jaotises "Var1". See on kirjete vastavus. Salvestatud protseduur lõpetatakse märksõnaga „END”, millele järgnevad märgid „&&”.

"

Salvestatud protseduuri ettevalmistamiseks käivitage esmalt päring DELIMITER. Seejärel käivitage päring CALL, millele järgneb protseduuri nimi ja selle sisendargumendi väärtus sulgudes. Peate lihtsalt käivitama allpool näidatud käsu ja saate tulemused. Nagu oleme pakkunud 'Zafar' oma parameetrites, on see ka põhjus, miks pärast võrdlust selle tulemuse saime.

Näide 03: mitme parameetriga salvestatud protseduur

Vaatame, kuidas protseduur toimib, kui sellele on antud mitu parameetrit. Ärge unustage kasutada märksõna „DELIMITER” ja märke „&&”. Protseduuri loomiseks kasutage käsku CREATE PROCEDURE (Uus). Selle protseduuri parameetrites võetakse kaks argumenti, nt.g. 'var1' ja 'var2'. Alustage protseduuri BEGIN-klausliga. Nüüd on see midagi uut. Klausel SELECT toob jällegi kõik kirjed tabelist "rekord". Kasutaja esimene edastatud argument sobitatakse veeru „Nimi“ väärtustega. Teiselt poolt sobitatakse kasutaja edastatud teine ​​argument veeru „Riik” väärtustega. Kui kirjed vastavad, tõmbab see kõik andmed järjestikustest ridadest. Protseduur lõpetatakse märksõnaga "END".

Protseduuri aktiveerimiseks kasutage märksõna DELIMITER. Seejärel käivitage klausel CALL, millele järgneb salvestatud protseduuri nimi, mis on koos parameetri väärtustega "Uus". Allolevalt pildilt on selge, et päring toob tabeli 'record' kirje ainult siis, kui mõlemad kasutaja sisestatud väärtused vastavad.

Järeldus:

Selles juhendis olete tutvunud MySQL Workbenchi ja MySQL käsurea kliendi kestaga salvestatud protseduuri loomise erinevate võimalustega.g., Salvestatud protseduur parameetritega ja ilma.

Installige uusim OpenRA strateegiamäng Ubuntu Linuxi
OpenRA on tasuta / tasuta reaalajas strateegiamängumootor, mis loob uuesti Westwoodi varased mängud nagu klassikaline Command & Conquer: Red Alert. Ja...
Installige Linuxile uusim Dolphin Emulator for Gamecube & Wii
Dolphini emulaator võimaldab teil mängida valitud Gamecube & Wii mänge Linuxi personaalarvutites (PC). Vabalt saadaval oleva ja avatud lähtekoodiga m...
Kuidas kasutada GameConquerori petumootorit Linuxis
Artikkel sisaldab juhendit GameConquerori petumootori kasutamise kohta Linuxis. Paljud kasutajad, kes mängivad Windowsis mänge, kasutavad rakendust „C...