Někdy možná budete muset zrušit proceduru v MySQL nebo odstranit proceduru v MySQL, protože ji již nepotřebujete. Zde je návod, jak odstranit uloženou proceduru v MySQL pomocí příkazu MySQL DROP PROCEDURE. Můžete jej použít k odstranění všech procedur v MySQL nebo k odstranění jedné procedury v MySQL.
Jak odstranit uloženou proceduru v MySQL
Zde jsou kroky k odstranění uložené procedury v MySQL pomocí příkazu MySQL DROP PROCEDURE.
Zde je syntaxe příkazu MySQL DROP PROCEDURE
DROP PROCEDURE [IF EXISTS] stored_procedure_name;
Ve výše uvedeném příkazu musíte zadat název uložené procedury.
Pokud se pokusíte odstranit uloženou proceduru, která neexistuje, MySQL zobrazí chybu. Volitelně tedy můžete použít klíčové slovo IF EXISTS, abyste zajistili, že uložená procedura bude odstraněna, pouze pokud existuje.
Bonusové čtení:MySQL Změna uživatelského hesla
Řekněme, že máte následující uloženou proceduru sample_procedure následovně.
DELIMITER $$ CREATE PROCEDURE get_orders() BEGIN SELECT * FROM orders; END$$
Bonusové čtení:MySQL Cast jako Boolean
Zde je příkaz SQL pro odstranění uložené procedury v MySQL
mysql> DROP PROCEDURE get_orders(); Query OK, 0 rows affected (0.04 sec)
Pokud se pokusíte zrušit proceduru, která neexistuje, zobrazí se následující chyba
mysql> drop procedure get_orders; ERROR 1305 (42000): PROCEDURE sample.get_orders does not exist
Pokud však zrušíte proceduru pomocí klíčového slova IF EXISTS, dostanete pouze varování, nikoli chybu.
mysql> drop procedure IF EXISTS get_orders; Query OK, 0 rows affected, 1 warning (0.00 sec)
Bonusové čtení:MySQL CAST vs BOOLEAN
Jak zrušit všechny procedury v MySQL
MySQL umožňuje zahodit pouze jednu proceduru najednou. Pokud tedy chcete zrušit všechny procedury, budete muset vytvořit samostatné příkazy DROP PROCEDURE. Zde je příkaz SELECT, který vytváří seznam příkazů drop procedury. Jeho výsledkem je seznam příkazů DROP PROCEDURE, jeden pro každou uloženou proceduru ve vaší databázi. Používejte jej však opatrně.
SELECT CONCAT('DROP ',ROUTINE_TYPE,' `',ROUTINE_SCHEMA,'`.`',ROUTINE_NAME,'`;') as stmt FROM information_schema.ROUTINES;
Doufejme, že nyní můžete snadno odstranit proceduru v MySQL.
Ubiq usnadňuje vizualizaci dat během několika minut a sledování na řídicích panelech v reálném čase. Vyzkoušejte to ještě dnes!