sql >> Database >  >> RDS >> Mysql

Opgeslagen procedure verwijderen in MySQL

Soms moet u de procedure in MySQL laten vallen of de procedure in MySQL verwijderen omdat u deze niet meer nodig hebt. Hier leest u hoe u de opgeslagen procedure in MySQL verwijdert met behulp van de MySQL DROP PROCEDURE-instructie. U kunt het gebruiken om alle procedures in MySQL te verwijderen of één procedure in MySQL te verwijderen.

Hoe de opgeslagen procedure in MySQL te verwijderen

Hier zijn de stappen om de opgeslagen procedure in MySQL te verwijderen met behulp van de MySQL DROP PROCEDURE-instructie.

Hier is de syntaxis van de MySQL DROP PROCEDURE-instructie

DROP PROCEDURE [IF EXISTS] stored_procedure_name;

In de bovenstaande verklaring moet u de naam van de opgeslagen procedure specificeren.

Als u een opgeslagen procedure probeert te verwijderen die niet bestaat, geeft MySQL een foutmelding. U kunt dus optioneel het trefwoord IF EXISTS gebruiken om ervoor te zorgen dat de opgeslagen procedure alleen wordt verwijderd als deze bestaat.

Bonus Lezen:MySQL Gebruikerswachtwoord wijzigen

Laten we zeggen dat u de volgende opgeslagen procedure sample_procedure . heeft als volgt.

DELIMITER $$

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

Bonus Lezen:MySQL Cast als Boolean

Hier is de SQL-instructie om de opgeslagen procedure in MySQL te verwijderen

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

Als u een procedure probeert te laten vallen die niet bestaat, krijgt u de volgende foutmelding

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

Als u de procedure echter laat vallen met het trefwoord IF EXISTS, krijgt u alleen een waarschuwing, geen foutmelding.

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

Bonus Lezen:MySQL CAST vs BOOLEAN

Hoe verwijder je alle procedures in MySQL

Met MySQL kunt u slechts één procedure tegelijk laten vallen. Dus als u alle procedures wilt laten vallen, moet u afzonderlijke DROP PROCEDURE-instructies maken. Hier is een SELECT-instructie die een lijst met drop-procedure-instructies maakt. Het resultaat is een lijst met DROP PROCEDURE-instructies, één voor elke opgeslagen procedure in uw database. Gebruik het echter met de nodige voorzichtigheid.

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

Hopelijk kun je de procedure nu gemakkelijk in MySQL verwijderen.

Ubiq maakt het gemakkelijk om gegevens binnen enkele minuten te visualiseren en in realtime dashboards te controleren. Probeer het vandaag nog!

  1. Rails Migration veranderende kolom om Postgres-arrays te gebruiken

  2. KIES * WAAR NIET BESTAAT

  3. Externe sleutel met meerdere kolommen in MySQL?

  4. Wat is SQLite?