sql >> データベース >  >> RDS >> Mysql

MySQLでストアドプロシージャを削除する方法

    MySQLでプロシージャを削除したり、MySQLでプロシージャを削除したりする必要がある場合があります。これは、もう必要ないためです。 MySQLDROPPROCEDUREステートメントを使用してMySQLのストアドプロシージャを削除する方法は次のとおりです。これを使用して、MySQLのすべてのプロシージャを削除するか、MySQLの1つのプロシージャを削除できます。

    MySQLでストアドプロシージャを削除する方法

    MySQLDROPPROCEDUREステートメントを使用してMySQLのストアドプロシージャを削除する手順は次のとおりです。

    MySQLDROPPROCEDUREステートメントの構文は次のとおりです

    DROP PROCEDURE [IF EXISTS] stored_procedure_name;

    上記のステートメントでは、ストアドプロシージャの名前を指定する必要があります。

    存在しないストアドプロシージャを削除しようとすると、MySQLはエラーを出します。したがって、オプションでIF EXISTSキーワードを使用して、ストアドプロシージャが存在する場合にのみ削除されるようにすることができます。

    ボーナスリード:MySQLユーザーパスワードの変更

    次のストアドプロシージャがあるとしますsample_procedure 次のように。

    DELIMITER $$
    
    CREATE PROCEDURE get_orders()
    BEGIN
        SELECT *
        FROM orders;
    END$$
    

    ボーナス読み取り:ブール値としてのMySQLキャスト

    MySQLでストアドプロシージャを削除するSQLステートメントは次のとおりです

    mysql> DROP PROCEDURE get_orders();
    Query OK, 0 rows affected (0.04 sec)
    

    存在しないプロシージャを削除しようとすると、次のエラーが発生します

    mysql> drop procedure get_orders;
    ERROR 1305 (42000): PROCEDURE sample.get_orders does not exist
    

    ただし、IF EXISTSキーワードを使用してプロシージャを削除すると、警告のみが表示され、エラーは表示されません。

    mysql> drop procedure IF EXISTS get_orders;
    Query OK, 0 rows affected, 1 warning (0.00 sec)
    

    ボーナスリード:MySQLCASTとBOOLEAN

    MySQLですべてのプロシージャを削除する方法

    MySQLでは、一度に1つのプロシージャのみを削除できます。したがって、すべてのプロシージャを削除する場合は、個別のDROPPROCEDUREステートメントを作成する必要があります。ドロッププロシージャステートメントのリストを作成するSELECTステートメントは次のとおりです。その結果は、データベース内のストアドプロシージャごとに1つずつ、DROPPROCEDUREステートメントのリストです。ただし、注意して使用してください。

    SELECT
        CONCAT('DROP ',ROUTINE_TYPE,' `',ROUTINE_SCHEMA,'`.`',ROUTINE_NAME,'`;') as stmt
    FROM information_schema.ROUTINES;
    

    うまくいけば、My​​SQLでプロシージャを簡単に削除できるようになりました。

    Ubiqを使用すると、データを数分で簡単に視覚化し、リアルタイムのダッシュボードで監視できます。今日お試しください。

    1. 更新コマンドでのSQLServerエラー-現在のコマンドで重大なエラーが発生しました

    2. SQL Serverで外部キーを作成するにはどうすればよいですか?

    3. MySQLで誤った文字列値を修正する方法

    4. SQLServerで「選択リストに指定できる式は1つだけ…」を修正する方法