Někdy může být nutné upravit uloženou proceduru nebo změnit uloženou proceduru v MySQL. Zde je návod, jak upravit uloženou proceduru pomocí příkazu MySQL ALTER PROCEDURE.
MySQL Alter Stored Procedure
Zde jsou kroky ke změně uložené procedury v MySQL pomocí příkazu ALTER PROCEDURE.
Řekněme, že máte v MySQL uloženou následující proceduru.
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 | +----+------------+--------+----------+
Bonusové čtení:MySQL seznam všech procedur
Jak upravit uloženou proceduru v příkazovém řádku MySQL
Přestože MySQL poskytuje příkaz ALTER PROCEDURE, neumožňuje vám měnit tělo nebo parametry uložené procedury. Umožňuje pouze změnit vlastnosti uložené procedury
Zde je syntaxe 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 } }
Zde je příklad přidání komentáře pomocí dotazu ALTER PROCEDURE.
ALTER PROCEDURE get_orders COMMENT 'test comment';
Bonusové čtení:MySQL Reset root Password
Pokud však chcete změnit dotaz, tělo nebo parametry uložené procedury v příkazovém řádku MySQL, musíte DROP PROCEDURE a poté CREATE PROCEDURE s novou definicí. Zde je příklad aktualizace dotazu uložené procedury get_orders definované výše.
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 | +------------+--------+
Doufejme, že nyní můžete změnit uloženou proceduru v MySQL.
Ubiq usnadňuje vizualizaci dat během několika minut a sledování na řídicích panelech v reálném čase. Vyzkoušejte to ještě dnes!