MySQL MariaDB

Vytvorte uložené procedúry v MySQL

Vytvorte uložené procedúry v MySQL
Uložené procedúry sú používateľom definovaný zoznam predkompilovaných inštrukcií SQL, ktoré sa uchovávajú a prevádzkujú na požiadanie v databanke MySQL na vykonanie konkrétneho databázového procesu. To znamená, že je pravdepodobné, že skript znovu použijete znova. Procedúra má nadpis, množinu parametrov a príkaz z jazyka SQL, takže uložená procedúra môže pracovať na základe hodnoty preneseného parametra. Uložené procedúry by sa mali vykonať pomocou výrazu CALL. V tejto príručke sa pozrime postupne na proces generovania nových uložených procedúr v rámci doložky MySQL CREATE PROCEDURE. Tak poďme na to.

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.

Hry Top 5 kariet na zachytávanie hier
Top 5 kariet na zachytávanie hier
Všetci sme videli a milovali streamovanie hier na YouTube. PewDiePie, Jakesepticye a Markiplier sú iba niektorí z najlepších hráčov, ktorí zarobili mi...
Hry Ako vyvíjať hru v systéme Linux
Ako vyvíjať hru v systéme Linux
Pred desiatimi rokmi by len málo používateľov Linuxu predpovedalo, že ich obľúbený operačný systém bude jedného dňa populárnou hernou platformou pre k...
Hry Open source porty komerčných herných strojov
Open source porty komerčných herných strojov
Na hranie starých i niektorých z nedávnych herných titulov je možné využiť bezplatné hry s otvoreným zdrojom a multiplatformové herné enginy. V tomto ...