MySQLでストアドプロシージャを編集したり、ストアドプロシージャを変更したりする必要がある場合があります。 MySQLALTERPROCEDUREステートメントを使用してストアドプロシージャを編集する方法は次のとおりです。
MySQLAlterストアドプロシージャ
ALTERPROCEDUREステートメントを使用してMySQLのストアドプロシージャを変更する手順は次のとおりです。
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 | +----+------------+--------+----------+
ボーナスリード:MySQLリストすべての手順
MySQLコマンドラインでストアドプロシージャを編集する方法
MySQLはALTERPROCEDUREステートメントを提供しますが、ストアドプロシージャの本体またはパラメータを変更することはできません。ストアドプロシージャの特性を変更することしかできません
これがALTERPROCEDUREの構文です
ALTER PROCEDURE proc_name [characteristic ...] characteristic: { COMMENT 'string' | LANGUAGE SQL | { CONTAINS SQL | NO SQL | READS SQL DATA | MODIFIES SQL DATA } | SQL SECURITY { DEFINER | INVOKER } }
これは、ALTERPROCEDUREクエリを使用してコメントを追加する例です。
ALTER PROCEDURE get_orders COMMENT 'test comment';
ボーナス読み取り:MySQLリセットルートパスワード
ただし、MySQLコマンドラインでストアドプロシージャのクエリ、本文、またはパラメータを変更する場合は、DROP PROCEDUREを実行してから、新しい定義でCREATEPROCEDUREを実行する必要があります。上記で定義したget_ordersストアドプロシージャのクエリを更新する例を次に示します。
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 | +------------+--------+
うまくいけば、MySQLでストアドプロシージャを変更できるようになりました。
Ubiqを使用すると、データを数分で簡単に視覚化し、リアルタイムのダッシュボードで監視できます。今日お試しください。