sql >> Database >  >> RDS >> Mysql

MySQL Wijzig opgeslagen procedure

Soms moet u de opgeslagen procedure bewerken of de opgeslagen procedure in MySQL wijzigen. Hier leest u hoe u de opgeslagen procedure kunt bewerken met de instructie MySQL ALTER PROCEDURE.

MySQL Wijzig opgeslagen procedure

Hier zijn de stappen om de opgeslagen procedure in MySQL te wijzigen met behulp van de instructie ALTER PROCEDURE.

Laten we zeggen dat u de volgende opgeslagen procedure in MySQL heeft.

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

Bonus Lezen:MySQL Lijst van alle procedures

Hoe de opgeslagen procedure in de MySQL-opdrachtregel te bewerken

Hoewel MySQL de instructie ALTER PROCEDURE biedt, kunt u de hoofdtekst of parameters van de opgeslagen procedure niet wijzigen. Hiermee kunt u alleen de kenmerken van de opgeslagen procedure wijzigen

Hier is de syntaxis van 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 }
}

Hier is een voorbeeld om een ​​opmerking toe te voegen met de ALTER PROCEDURE-query.

ALTER PROCEDURE get_orders
COMMENT 'test comment';

Bonus Lezen:MySQL Reset Root-wachtwoord

Als u echter de query, hoofdtekst of parameters van de opgeslagen procedure in de MySQL-opdrachtregel wilt wijzigen, moet u PROCEDURE DROPPEN en vervolgens PROCEDURE MAKEN met een nieuwe definitie. Hier is een voorbeeld om de hierboven gedefinieerde query van get_orders opgeslagen procedure bij te werken.

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

Hopelijk kunt u nu de opgeslagen procedure in MySQL wijzigen.

Ubiq maakt het gemakkelijk om gegevens binnen enkele minuten te visualiseren en in realtime dashboards te controleren. Probeer het vandaag nog!

  1. Inleiding tot FORALL-instructie in Oracle Database

  2. ORA-01861:letterlijk komt niet overeen met opmaaktekenreeks

  3. Kunnen we een externe MySQL-database in Android verbinden met JDBC?

  4. Een tabelwaarde-functie wijzigen in SQL Server