Czasami może być konieczne usunięcie procedury w MySQL lub usunięcie procedury w MySQL, ponieważ już jej nie potrzebujesz. Oto jak usunąć procedurę składowaną w MySQL za pomocą instrukcji MySQL DROP PROCEDURE. Możesz go użyć do usunięcia wszystkich procedur w MySQL lub jednej procedury w MySQL.
Jak usunąć zapisaną procedurę w MySQL
Oto kroki, aby usunąć procedurę składowaną w MySQL za pomocą instrukcji MySQL DROP PROCEDURE.
Oto składnia instrukcji MySQL DROP PROCEDURE
DROP PROCEDURE [IF EXISTS] stored_procedure_name;
W powyższym oświadczeniu musisz podać nazwę procedury składowanej.
Jeśli spróbujesz usunąć procedurę składowaną, która nie istnieje, MySQL wyświetli błąd. Możesz więc opcjonalnie użyć słowa kluczowego IF EXISTS, aby upewnić się, że procedura składowana zostanie usunięta tylko wtedy, gdy istnieje.
Przeczytaj bonus:MySQL Zmień hasło użytkownika
Załóżmy, że masz następującą procedurę składowaną sample_procedure w następujący sposób.
DELIMITER $$ CREATE PROCEDURE get_orders() BEGIN SELECT * FROM orders; END$$
Przeczytaj bonus:MySQL Cast as Boolean
Oto instrukcja SQL do usunięcia procedury składowanej w MySQL
mysql> DROP PROCEDURE get_orders(); Query OK, 0 rows affected (0.04 sec)
Jeśli spróbujesz usunąć procedurę, która nie istnieje, otrzymasz następujący błąd
mysql> drop procedure get_orders; ERROR 1305 (42000): PROCEDURE sample.get_orders does not exist
Jeśli jednak usuniesz procedurę za pomocą słowa kluczowego IF EXISTS, otrzymasz tylko ostrzeżenie, a nie błąd.
mysql> drop procedure IF EXISTS get_orders; Query OK, 0 rows affected, 1 warning (0.00 sec)
Przeczytaj bonus:MySQL CAST vs BOOLEAN
Jak usunąć wszystkie procedury w MySQL
MySQL pozwala na porzucenie tylko jednej procedury na raz. Więc jeśli chcesz usunąć wszystkie procedury, będziesz musiał utworzyć oddzielne instrukcje DROP PROCEDURE. Oto instrukcja SELECT, która tworzy listę instrukcji procedury upuszczania. Jego wynikiem jest lista instrukcji DROP PROCEDURE, po jednej dla każdej procedury składowanej w bazie danych. Należy jednak zachować ostrożność.
SELECT CONCAT('DROP ',ROUTINE_TYPE,' `',ROUTINE_SCHEMA,'`.`',ROUTINE_NAME,'`;') as stmt FROM information_schema.ROUTINES;
Mamy nadzieję, że teraz możesz łatwo usunąć procedurę w MySQL.
Ubiq ułatwia wizualizację danych w ciągu kilku minut i monitorowanie w pulpitach nawigacyjnych w czasie rzeczywistym. Wypróbuj już dziś!