Mysql
 sql >> Datenbank >  >> RDS >> Mysql

MySQL Alter Stored Procedure

Manchmal müssen Sie möglicherweise gespeicherte Prozeduren bearbeiten oder gespeicherte Prozeduren in MySQL ändern. So bearbeiten Sie gespeicherte Prozeduren mit der MySQL-Anweisung ALTER PROCEDURE.

MySQL Alter Stored Procedure

Hier sind die Schritte zum Ändern gespeicherter Prozeduren in MySQL mit der ALTER PROCEDURE-Anweisung.

Angenommen, Sie haben die folgende gespeicherte Prozedur in 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 |
+----+------------+--------+----------+

Bonus-Lesetext:MySQL listet alle Prozeduren auf

So bearbeiten Sie gespeicherte Prozeduren in der MySQL-Befehlszeile

Obwohl MySQL die ALTER PROCEDURE-Anweisung bereitstellt, können Sie den Hauptteil oder die Parameter der gespeicherten Prozedur nicht ändern. Es erlaubt Ihnen nur, die Eigenschaften der gespeicherten Prozedur zu ändern

Hier ist die Syntax von 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 ist ein Beispiel zum Hinzufügen eines Kommentars mit der ALTER PROCEDURE-Abfrage.

ALTER PROCEDURE get_orders
COMMENT 'test comment';

Bonus-Leseartikel:MySQL-Root-Passwort zurücksetzen

Wenn Sie jedoch die Abfrage, den Hauptteil oder die Parameter der gespeicherten Prozedur in der MySQL-Befehlszeile ändern möchten, müssen Sie PROCEDURE DROP und dann PROCEDURE mit neuer Definition erstellen. Hier ist ein Beispiel, um die Abfrage der oben definierten gespeicherten Prozedur get_orders zu aktualisieren.

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

Hoffentlich können Sie jetzt gespeicherte Prozeduren in MySQL ändern.

Ubiq macht es einfach, Daten innerhalb von Minuten zu visualisieren und in Echtzeit-Dashboards zu überwachen. Probieren Sie es noch heute aus!