sql >> Databasteknik >  >> RDS >> Mysql

MySQL Alter lagrad procedur

Ibland kan du behöva redigera lagrad procedur eller ändra lagrad procedur i MySQL. Så här redigerar du lagrad procedur med MySQL ALTER PROCEDURE-satsen.

MySQL Alter lagrad procedur

Här är stegen för att ändra lagrad procedur i MySQL med ALTER PROCEDURE-satsen.

Låt oss säga att du har följande lagrade procedur i 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 Läs:MySQL lista alla procedurer

Hur man redigerar lagrad procedur i MySQL-kommandoraden

Även om MySQL tillhandahåller en ALTER PROCEDURE-sats, tillåter den dig inte att ändra innehållet eller parametrarna för den lagrade proceduren. Det låter dig bara ändra egenskaperna för lagrad procedur

Här är syntaxen för 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 }
}

Här är ett exempel på hur du kan lägga till en kommentar genom att använda frågan ÄNDRA PROCEDUR.

ALTER PROCEDURE get_orders
COMMENT 'test comment';

Bonus Läs:MySQL Återställ rotlösenord

Men om du vill ändra frågan, texten eller parametrarna för den lagrade proceduren i MySQL-kommandoraden, måste du SLAPPA PROCEDUR och sedan SKAPA PROCEDUR med ny definition. Här är ett exempel för att uppdatera frågan om get_orders lagrad procedur som definierats ovan.

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

Förhoppningsvis kan du nu ändra lagrad procedur i MySQL.

Ubiq gör det enkelt att visualisera data på några minuter och övervaka i realtidsinstrumentpaneler. Prova det idag!

  1. hur man ändrar storleken på en kolumn

  2. Hur ökar man dbms_output buffert?

  3. MySQL:NULL vs

  4. Använda MS Access-data i en brevkoppling