Vytvorte uloženú procedúru pomocou Workbench:
Otvorte novo nainštalovaný server MySQL Workbench 8.0 a spojte ho s koreňovou databázou localhost.
Vo vnútri pracovného stola je lišta Navigator. Pod týmto panelom Navigator sa nachádza súbor rôznych funkcií MySQL. Obsahuje zoznam databáz, tabuliek, uložených procedúr a mnoho ďalších, ako vidíte na obrázku.
Keď preskúmate možnosť „Tabuľky“, nájdete zoznam tabuliek v mriežke. Ako je uvedené nižšie, máme tabuľku „sociálna“.
Pravým tlačidlom myši kliknite na možnosť „Uložená procedúra“ a potom kliknite na možnosť „Vytvoriť uloženú procedúru“, ako je to znázornené na obrázku.
Otvorí sa nové okno, ako je vidieť na fotografii nižšie. Názov uloženej procedúry v oblasti dotazu môžete zmeniť odstránením hodnoty v obrátených čiarkach.
Teraz môžete tento dopyt upraviť podľa svojho želania. Uloženú procedúru pomenujeme ako „detail“, zatiaľ čo údaje získavame z tabuľky „social“, kde jej hodnota v stĺpci „Webová stránka“ zodpovedá „Instagramu“.„To znamená, že procedúra ukladania po spustení zobrazí iba tie záznamy z tejto tabuľky, kde je„ webová stránka “„ Instagram.„Kliknite na tlačidlo Použiť.
Dostanete obrazovku s ukážkou, kde môžete v prípade potreby svoj dotaz zmeniť alebo upraviť. Cez Workbench si môžete pozrieť celú syntax novo vytvorenej procedúry Uložené. Vykonajte ho kliknutím na tlačidlo Použiť.
Ak v dotaze nie sú žiadne chyby, bude fungovať správne, ako je uvedené nižšie. Klepnite na tlačidlo Dokončiť.
Keď sa pozriete na voľbu uložené procedúry a obnovíte ju, zobrazí sa vám novovytvorená procedúra.
Po vykonaní tohto postupu sa vám zobrazia jediné záznamy, ktoré majú v stĺpci s hodnotou „Web“ hodnotu „Instagram“, ako je uvedené nižšie.
Vytvorte uloženú procedúru pomocou príkazového riadku:
Otvorte shell klienta príkazového riadku MySQL 8.0 a pod ním zadajte heslo MySQL.
Predpokladajme, že v schéme databázy „data“ máme tabuľku s názvom „záznam“. Skontrolujme jeho záznamy pomocou príkazu SELECT takto:
>> SELECT * FROM data.záznam;
Pomocou príkazu „use data“ použite databázu, do ktorej chcete pridať uloženú procedúru.
>> údaje o použití;
Príklad 01: Uložená procedúra bez parametrov
Ak chcete vytvoriť procedúru bez parametra, musíte ju vytvoriť pomocou príkazu CREATE PROCEDURE, ktorému predchádza kľúčové slovo 'DELIMITER'. Potom vytvoríme postup s názvom „Filter“ bez parametrov. Načíta všetky záznamy z tabuľky „záznam“, kde má stĺpec „Krajina“ na konci svojich hodnôt „ia“. Proces by sa mal ukončiť kľúčovým slovom „END“.
Na vykonanie uloženej procedúry v príkazovom riadku použijeme klauzulu CALL. Po spustení príkazu CALL máme nižšie uvedené výsledky. Vidíte, že dopyt musí načítať iba tie záznamy, kde stĺpec „Krajina“ má na konci svojich hodnôt „ia“.
Príklad 02: Uložená procedúra s jedným parametrom
Je najvyšší čas vygenerovať procedúru s jediným parametrom. K tomu použite dotaz VYTVORIŤ POSTUP vedený kľúčovým slovom 'DELIMITER.„Takže musíme vytvoriť procedúru„ Rec “, ktorá vezme jednu hodnotu ako vstupný argument, v ktorom je v tomto príklade premenná„ Var1 “používateľom v jeho parametroch. Procedúru začnite kľúčovým slovom „BEGIN“. Príkaz SELECT sa používa na načítanie všetkých záznamov z tabuľky „záznam“, kde má stĺpec „Názov“ rovnakú hodnotu ako v prípade „Var1“. Toto je zhoda záznamov. Uloženú procedúru ukončite kľúčovým slovom „END“, za ktorým nasledujú znaky „&&“.
„
Pripravte sa spustením dotazu DELIMITER pre uloženú procedúru. Potom vykonajte dotaz CALL nasledovaný názvom procedúry a jej hodnotou vstupného argumentu v zložených zátvorkách. Musíte len spustiť nižšie zobrazený príkaz a získate výsledky. Ako sme uviedli, „Zafar“ v našich parametroch, preto sme po porovnaní dostali tento výsledok.
Príklad 03: Uložená procedúra s viacerými parametrami
Pozrime sa, ako postup funguje, ak bol vybavený viacerými parametrami. Nezabudnite použiť kľúčové slovo „DELIMITER“ spolu so znakmi „&&“. Pomocou príkazu CREATE PROCEDURE vytvorte procedúru 'New'. Tento postup bude vo svojich parametroch brať dva argumenty, napr.g. „var1“ a „var2“. Postup začnite klauzulou BEGIN. Teraz je to niečo nové. Klauzula SELECT opäť načítava všetky záznamy z tabuľky „záznam“. Prvý argument odovzdaný používateľom sa porovná s hodnotami stĺpca „Názov“. Na druhej strane, druhý argument odovzdaný používateľom sa porovná s hodnotami stĺpca „Krajina“. Ak sa záznamy zhodujú, načíta všetky údaje z po sebe nasledujúcich riadkov. Procedúra by bola ukončená kľúčovým slovom „END“.
Procedúru aktivujete pomocou kľúčového slova DELIMITER. Potom vykonajte klauzulu CALL, za ktorou nasleduje názov uloženej procedúry, ktorý je spolu s hodnotami parametrov „Nový“. Z obrázka nižšie je zrejmé, že dopyt načíta iba záznam tabuľky „záznam“, kde sa obidve hodnoty zadané používateľom zhodujú.
Záver:
V tejto príručke ste sa dozvedeli o rôznych spôsoboch vytvorenia uloženej procedúry v prostredí MySQL Workbench a klientskom prostredí príkazového riadku MySQL e.g., Uložená procedúra s parametrami a bez nich.