Mysql
 sql >> Baza danych >  >> RDS >> Mysql

Jak usunąć procedurę składowaną w MySQL?

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ś!

  1. Database
  2.   
  3. Mysql
  4.   
  5. Oracle
  6.   
  7. Sqlserver
  8.   
  9. PostgreSQL
  10.   
  11. Access
  12.   
  13. SQLite
  14.   
  15. MariaDB
  1. Jak rozwiązać problem kodowania znaków MySQL?

  2. mysql po wstawieniu wyzwalacza, który aktualizuje kolumnę innej tabeli

  3. Jak wykonać kopię zapasową / wyeksportować bazę danych MySQL za pomocą PHP

  4. MySQL LOAD DATA INFILE z ON DUPLICATE KEY UPDATE

  5. Jak uzyskać surowe, skompilowane zapytanie SQL z wyrażenia SQLAlchemy?