Nogle gange skal du muligvis droppe procedure i MySQL eller slette procedure i MySQL, da du ikke har brug for den længere. Her er, hvordan du sletter lagret procedure i MySQL ved hjælp af MySQL DROP PROCEDURE-sætning. Du kan bruge den til at droppe alle procedurer i MySQL eller slippe en procedure i MySQL.
Sådan sletter du lagret procedure i MySQL
Her er trinene til at slette lagret procedure i MySQL ved hjælp af MySQL DROP PROCEDURE-sætning.
Her er syntaksen for MySQL DROP PROCEDURE-sætningen
DROP PROCEDURE [IF EXISTS] stored_procedure_name;
I ovenstående erklæring skal du angive navnet på den lagrede procedure.
Hvis du forsøger at slette en lagret procedure, der ikke eksisterer, vil MySQL give en fejl. Så du kan valgfrit bruge IF EXISTS nøgleordet for at sikre, at den lagrede procedure kun slettes, hvis den eksisterer.
Bonus Læs:MySQL Skift brugeradgangskode
Lad os sige, at du har følgende lagrede procedure sample_procedure som følger.
DELIMITER $$ CREATE PROCEDURE get_orders() BEGIN SELECT * FROM orders; END$$
Bonus Læs:MySQL Cast som Boolean
Her er SQL-sætningen til at slette lagret procedure i MySQL
mysql> DROP PROCEDURE get_orders(); Query OK, 0 rows affected (0.04 sec)
Hvis du prøver at droppe en procedure, der ikke eksisterer, får du følgende fejl
mysql> drop procedure get_orders; ERROR 1305 (42000): PROCEDURE sample.get_orders does not exist
Men hvis du dropper proceduren ved at bruge IF EXISTS søgeordet, vil du kun få en advarsel, ikke en fejl.
mysql> drop procedure IF EXISTS get_orders; Query OK, 0 rows affected, 1 warning (0.00 sec)
Bonus Læs:MySQL CAST vs BOOLEAN
Sådan dropper du alle procedurer i MySQL
MySQL giver dig mulighed for kun at droppe én procedure ad gangen. Så hvis du vil slette alle procedurer, skal du oprette separate DROP PROCEDURE-sætninger. Her er en SELECT-sætning, der opretter en liste over drop-procedureudsagn. Resultatet er en liste over DROP PROCEDURE-sætninger, en for hver lagret procedure i din database. Brug det dog med forsigtighed.
SELECT CONCAT('DROP ',ROUTINE_TYPE,' `',ROUTINE_SCHEMA,'`.`',ROUTINE_NAME,'`;') as stmt FROM information_schema.ROUTINES;
Forhåbentlig kan du nu nemt slette procedure i MySQL.
Ubiq gør det nemt at visualisere data på få minutter og overvåge i dashboards i realtid. Prøv det i dag!