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

So löschen Sie gespeicherte Prozeduren in MySQL

Manchmal müssen Sie möglicherweise Prozeduren in MySQL löschen oder Prozeduren in MySQL löschen, da Sie sie nicht mehr benötigen. So löschen Sie gespeicherte Prozeduren in MySQL mit der MySQL DROP PROCEDURE-Anweisung. Sie können es verwenden, um alle Prozeduren in MySQL zu löschen oder eine Prozedur in MySQL zu löschen.

So löschen Sie gespeicherte Prozeduren in MySQL

Hier sind die Schritte zum Löschen gespeicherter Prozeduren in MySQL mit der MySQL DROP PROCEDURE-Anweisung.

Hier ist die Syntax der MySQL DROP PROCEDURE-Anweisung

DROP PROCEDURE [IF EXISTS] stored_procedure_name;

In der obigen Anweisung müssen Sie den Namen der gespeicherten Prozedur angeben.

Wenn Sie versuchen, eine gespeicherte Prozedur zu löschen, die nicht existiert, gibt MySQL einen Fehler aus. Sie können also optional das Schlüsselwort IF EXISTS verwenden, um sicherzustellen, dass die gespeicherte Prozedur nur gelöscht wird, wenn sie existiert.

Bonus-Lesung:MySQL-Benutzerkennwort ändern

Nehmen wir an, Sie haben die folgende gespeicherte Prozedur sample_procedure wie folgt.

DELIMITER $$

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

Bonus-Lesetext:MySQL Cast als Boolean

Hier ist die SQL-Anweisung zum Löschen einer gespeicherten Prozedur in MySQL

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

Wenn Sie versuchen, eine nicht vorhandene Prozedur zu löschen, erhalten Sie die folgende Fehlermeldung

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

Wenn Sie jedoch die Prozedur mit dem Schlüsselwort IF EXISTS löschen, erhalten Sie nur eine Warnung, keinen Fehler.

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

Bonuslektüre:MySQL CAST vs. BOOLEAN

Wie man alle Prozeduren in MySQL löscht

MySQL erlaubt es Ihnen, jeweils nur eine Prozedur zu löschen. Wenn Sie also alle Prozeduren löschen möchten, müssen Sie separate DROP PROCEDURE-Anweisungen erstellen. Hier ist eine SELECT-Anweisung, die eine Liste von Drop-Prozedur-Anweisungen erstellt. Das Ergebnis ist eine Liste von DROP PROCEDURE-Anweisungen, eine für jede gespeicherte Prozedur in Ihrer Datenbank. Verwenden Sie es jedoch mit Vorsicht.

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

Hoffentlich können Sie jetzt Prozeduren in MySQL einfach löschen.

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