sql >> Databáze >  >> RDS >> Mysql

Jak odstranit uloženou proceduru v MySQL

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!

  1. Jak získat všechny tabulky, které mají omezení primárního klíče vytvořené v databázi SQL Server - SQL Server / TSQL výukový program 57

  2. Jak vytvořit omezení CHECK v SQL Server (příklady T-SQL)

  3. Škálování vaší databáze časových řad – Jak jednoduše škálovat TimescaleDB

  4. Jak změním formát data v Postgres?