Mysql
 sql >> Base de Dados >  >> RDS >> Mysql

Procedimento armazenado de alteração do MySQL


Às vezes, você pode precisar editar o procedimento armazenado ou alterar o procedimento armazenado no MySQL. Veja como editar o procedimento armazenado usando a instrução MySQL ALTER PROCEDURE.


Procedimento armazenado de alteração do MySQL


Aqui estão as etapas para alterar o procedimento armazenado no MySQL usando a instrução ALTER PROCEDURE.

Digamos que você tenha o seguinte procedimento armazenado no 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 |
+----+------------+--------+----------+

Bônus de leitura:MySQL lista todos os procedimentos


Como editar o procedimento armazenado na linha de comando do MySQL


Embora o MySQL forneça a instrução ALTER PROCEDURE, ela não permite que você altere o corpo ou os parâmetros do procedimento armazenado. Ele só permite que você altere as características do procedimento armazenado

Aqui está a sintaxe 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 }
}

Aqui está um exemplo para adicionar um comentário usando a consulta ALTER PROCEDURE.
ALTER PROCEDURE get_orders
COMMENT 'test comment';

Bônus de leitura:MySQL Redefinir Senha Root

No entanto, se você deseja alterar a consulta, o corpo ou os parâmetros do procedimento armazenado na linha de comando do MySQL, é necessário DROP PROCEDURE e CREATE PROCEDURE com nova definição. Aqui está um exemplo para atualizar a consulta do procedimento armazenado get_orders definido acima.
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 |
+------------+--------+

Espero que agora você possa alterar o procedimento armazenado no MySQL.

O Ubiq facilita a visualização de dados em minutos e o monitoramento em painéis em tempo real. Experimente hoje!