sql >> Base de Datos >  >> RDS >> Mysql

Procedimiento almacenado de modificación de MySQL

A veces, es posible que necesite editar el procedimiento almacenado o modificar el procedimiento almacenado en MySQL. A continuación se explica cómo editar un procedimiento almacenado mediante la declaración ALTER PROCEDURE de MySQL.

Procedimiento almacenado modificado de MySQL

Estos son los pasos para modificar el procedimiento almacenado en MySQL mediante la instrucción ALTER PROCEDURE.

Digamos que tiene el siguiente procedimiento almacenado en 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 |
+----+------------+--------+----------+

Lectura adicional:lista de todos los procedimientos de MySQL

Cómo editar un procedimiento almacenado en la línea de comandos de MySQL

Aunque MySQL proporciona una instrucción ALTER PROCEDURE, no le permite cambiar el cuerpo o los parámetros del procedimiento almacenado. Solo le permite cambiar las características del procedimiento almacenado

Esta es la sintaxis 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 }
}

Aquí hay un ejemplo para agregar un comentario usando la consulta ALTER PROCEDURE.

ALTER PROCEDURE get_orders
COMMENT 'test comment';

Lectura adicional:MySQL Restablecer contraseña raíz

Sin embargo, si desea cambiar la consulta, el cuerpo o los parámetros del procedimiento almacenado en la línea de comando de MySQL, entonces necesita DROP PROCEDURE y luego CREATE PROCEDURE con una nueva definición. Aquí hay un ejemplo para actualizar la consulta del procedimiento almacenado get_orders definido anteriormente.

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 |
+------------+--------+

Con suerte, ahora puede modificar el procedimiento almacenado en MySQL.

Ubiq facilita la visualización de datos en minutos y la supervisión en paneles en tiempo real. ¡Pruébalo hoy!