Obsah
The Uložené procedury jsou bloky kódu SQL které jsou uloženy v databázi a slouží k provedení řady akcí, které jdou nad rámec uložených dotazů, jako např boorkmarky, abychom jim říkali, děláme to podle pokynů VOLÁNÍ, můžeme dokonce předat parametry řečenému Uložené procedury.Vytvoření uložené procedury
Aby bylo možné pokračovat ve vytváření a Uložená procedura (SP) nejprve musíme mít uživatelská oprávnění VYTVOŘTE RUTINU Y ALTER RUTINE, pro uživatele, kterého budeme používat k jejich vytvoření v databázi, bude také potřeba oprávnění VYKONAT, ačkoli toto je automaticky přiřazeno tvůrci SP.
Chcete -li vytvořit a SP, první věc, kterou musíme udělat, je přejít na Query Box, obvykle pro ukončení příkazu SQL používáme středník (
Jakmile to bude hotové, zadáme náš kód do pole dotazu, podívejme se na příklad kódu:
VYTVOŘIT POSTUP `add_page` (IN param_isbn VARCHAR (25), IN param_pages INT, OUT param_message VARCHAR (100)) ZAČNĚTE, pokud param_pages> 100 PAK NASTAVTE param_message = 'počet stránek je příliš velký'; DALŠÍ AKTUALIZACE kniha SET page_count = page_count + param_pages KDE isbn = param_isbn; SET param_message = 'úspěch'; KONEC IF; KONEC //
Jak vidíme, zjistit, co to dělá, není příliš obtížné SP, první řádek je docela jednoduchý, jednoduše definujeme vstupní a výstupní parametry SP, poté začneme s ZAČÍT náš blok, umístíme podmínku IF ELSE, kde vyhodnotíme každý ze vstupních parametrů, takže s každou podmínkou provedeme akci, poté uzavřeme příslušné bloky našeho SP pomocí ENDIF a END a skončíme //, což je náš vlastní oddělovač.
Testování uložené procedury
Jakmile budeme definováni, budeme testovat naše SPZa tímto účelem uvidíme několik prvků, které jsme nepoužili, nejprve se podívejme na kód a poté na vysvětlení:
zavolejte add_page ('1-234567-22-0', 4, @message);
SELECT @message;
Podívejme se, používáme VOLÁNÍ zavolat náš SP, pak předáme dva parametry, které SP Čekal jsem a nakonec použijeme proměnnou MySQL k přijetí odpovědi, druhý řádek tuto proměnnou jednoduše konzultujeme, abychom získali její hodnotu; Jak vidíme, je docela snadné s tím pracovat.
Manipulace s uloženou procedurou
The SP Je uložen v databázi, ale není svázán s žádnou konkrétní tabulkou, takže pro přístup k nim nejprve přejdeme do zobrazení databáze v phpMyAdmin, na stránce struktury budeme mít sekci s názvem Rutiny.
Když klikneme na ikonu úprav, uvidíme, že kód SP, který nám ukazuje, je něco jiného než ten náš, podívejme se, co se objeví:
DROP PROCEDURE `add_page` // CREATE DEFINER =` marc` @ `%` PROCEDURE` add_page` (IN param_isbn VARCHAR (25), IN param_pages INT, OUT param_message VARCHAR (100)) BEGIN IF IF param_pages> 100 THEN SET param_message = ' počet stránek je příliš velký '; DALŠÍ AKTUALIZACE kniha SET page_count = page_count + param_pages KDE isbn = param_isbn; SET param_message = 'úspěch'; KONEC IF;
The SP Nemůžeme je změnit, takže při pokusu o úpravu je první instrukce DROP SP, tímto způsobem ji odstraníme, abychom ji znovu vytvořili, v následujících řádcích také generuje řádek, kde je zadán zadaný uživatel . je tvůrcem uvedené SP; po provedení změn kliknutím na Jít vytvoříme náš upravený SP a uloží se do Databáze.
Tímto ukončíme tutoriál, jak vidíme Uložené procedury Jsou docela užitečné pro ukládání bloků instrukcí, které můžeme kdykoli zavolat, což nám dává sílu podprogramů v databázi.Líbil se vám tento návod a pomohl mu?Autora můžete odměnit stisknutím tohoto tlačítka, čímž mu dáte kladný bod