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

MySQL modifie la procédure stockée

Parfois, vous devrez peut-être modifier une procédure stockée ou modifier une procédure stockée dans MySQL. Voici comment modifier une procédure stockée à l'aide de l'instruction MySQL ALTER PROCEDURE.

Procédure stockée de modification de MySQL

Voici les étapes pour modifier la procédure stockée dans MySQL à l'aide de l'instruction ALTER PROCEDURE.

Supposons que vous ayez la procédure stockée suivante dans MySQL.

mysql> DELIMITER //
       CREATE PROCEDURE get_orders()
       BEGIN
       SELECT *  FROM orders;
       END //

      DELIMITER ;

mysql> call get_orders;
+----+------------+--------+----------+
| id | order_date | amount | sequence |
+----+------------+--------+----------+
|  1 | 2020-08-01 |    250 |        1 |
|  2 | 2020-08-02 |    125 |        4 |
|  3 | 2020-08-03 |    300 |        9 |
+----+------------+--------+----------+

Lecture bonus :Liste de toutes les procédures MySQL

Comment modifier une procédure stockée dans la ligne de commande MySQL

Bien que MySQL fournisse l'instruction ALTER PROCEDURE, elle ne vous permet pas de modifier le corps ou les paramètres de la procédure stockée. Il permet uniquement de modifier les caractéristiques de la procédure stockée

Voici la syntaxe de ALTER PROCEDURE

ALTER PROCEDURE proc_name [characteristic ...]

characteristic: {
    COMMENT 'string'
  | LANGUAGE SQL
  | { CONTAINS SQL | NO SQL | READS SQL DATA | MODIFIES SQL DATA }
  | SQL SECURITY { DEFINER | INVOKER }
}

Voici un exemple pour ajouter un commentaire à l'aide de la requête ALTER PROCEDURE.

ALTER PROCEDURE get_orders
COMMENT 'test comment';

Lecture bonus :Réinitialiser le mot de passe root MySQL

Cependant, si vous souhaitez modifier la requête, le corps ou les paramètres de la procédure stockée dans la ligne de commande MySQL, vous devez alors DROP PROCEDURE puis CREATE PROCEDURE avec une nouvelle définition. Voici un exemple pour mettre à jour la requête de la procédure stockée get_orders définie ci-dessus.

mysql> drop procedure get_orders;

mysql> DELIMITER //
          CREATE PROCEDURE get_orders()
            BEGIN
            SELECT order_date, amount  FROM orders;
            END //
       DELIMITER ;

mysql> call get_orders;
+------------+--------+
| order_date | amount |
+------------+--------+
| 2020-08-01 |    250 |
| 2020-08-02 |    125 |
| 2020-08-03 |    300 |
+------------+--------+

J'espère que vous pouvez maintenant modifier la procédure stockée 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 !