Mysql
 sql >> Base de données >  >> RDS >> Mysql

Comment supprimer une procédure stockée dans MySQL

Parfois, vous devrez peut-être supprimer une procédure dans MySQL ou supprimer une procédure dans MySQL car vous n'en avez plus besoin. Voici comment supprimer une procédure stockée dans MySQL à l'aide de l'instruction MySQL DROP PROCEDURE. Vous pouvez l'utiliser pour supprimer toutes les procédures dans MySQL ou supprimer une procédure dans MySQL.

Comment supprimer une procédure stockée dans MySQL

Voici les étapes pour supprimer une procédure stockée dans MySQL à l'aide de l'instruction MySQL DROP PROCEDURE.

Voici la syntaxe de l'instruction MySQL DROP PROCEDURE

DROP PROCEDURE [IF EXISTS] stored_procedure_name;

Dans la déclaration ci-dessus, vous devez spécifier le nom de la procédure stockée.

Si vous essayez de supprimer une procédure stockée qui n'existe pas, MySQL affichera une erreur. Vous pouvez donc éventuellement utiliser le mot-clé IF EXISTS pour vous assurer que la procédure stockée n'est supprimée que si elle existe.

Lecture bonus :MySQL Changer le mot de passe de l'utilisateur

Disons que vous avez la procédure stockée suivante sample_procedure comme suit.

DELIMITER $$

CREATE PROCEDURE get_orders()
BEGIN
    SELECT *
    FROM orders;
END$$

Lecture bonus :MySQL converti en booléen

Voici l'instruction SQL pour supprimer la procédure stockée dans MySQL

mysql> DROP PROCEDURE get_orders();
Query OK, 0 rows affected (0.04 sec)

Si vous essayez de supprimer une procédure qui n'existe pas, vous obtiendrez l'erreur suivante

mysql> drop procedure get_orders;
ERROR 1305 (42000): PROCEDURE sample.get_orders does not exist

Cependant, si vous supprimez la procédure à l'aide du mot-clé IF EXISTS, vous n'obtiendrez qu'un avertissement, pas une erreur.

mysql> drop procedure IF EXISTS get_orders;
Query OK, 0 rows affected, 1 warning (0.00 sec)

Lecture bonus :MySQL CAST vs BOOLEAN

Comment supprimer toutes les procédures dans MySQL

MySQL vous permet de supprimer une seule procédure à la fois. Ainsi, si vous souhaitez supprimer toutes les procédures, vous devrez créer des instructions DROP PROCEDURE distinctes. Voici une instruction SELECT qui crée une liste d'instructions de procédure de suppression. Son résultat est une liste d'instructions DROP PROCEDURE, une pour chaque procédure stockée de votre base de données. Cependant, utilisez-le avec prudence.

SELECT
    CONCAT('DROP ',ROUTINE_TYPE,' `',ROUTINE_SCHEMA,'`.`',ROUTINE_NAME,'`;') as stmt
FROM information_schema.ROUTINES;

J'espère que vous pouvez maintenant facilement supprimer la procédure dans MySQL.

Ubiq facilite la visualisation des données en quelques minutes et la surveillance dans des tableaux de bord en temps réel. Essayez-le aujourd'hui !