Đôi khi bạn có thể cần phải xóa thủ tục trong MySQL hoặc xóa thủ tục trong MySQL khi bạn không cần nữa. Dưới đây là cách xóa thủ tục đã lưu trữ trong MySQL bằng cách sử dụng câu lệnh MySQL DROP PROCEDURE. Bạn có thể sử dụng nó để loại bỏ tất cả các thủ tục trong MySQL hoặc bỏ một thủ tục trong MySQL.
Cách xóa thủ tục đã lưu trữ trong MySQL
Dưới đây là các bước để xóa thủ tục đã lưu trữ trong MySQL bằng cách sử dụng câu lệnh MySQL DROP PROCEDURE.
Đây là cú pháp của câu lệnh MySQL DROP PROCEDURE
DROP PROCEDURE [IF EXISTS] stored_procedure_name;
Trong câu lệnh trên, bạn cần chỉ định tên của thủ tục được lưu trữ.
Nếu bạn cố gắng xóa một thủ tục đã lưu trữ không tồn tại, MySQL sẽ báo lỗi. Vì vậy, bạn có thể tùy chọn sử dụng từ khóa IF EXISTS để đảm bảo rằng thủ tục được lưu trữ chỉ bị xóa nếu nó tồn tại.
Phần thưởng đọc:MySQL Thay đổi mật khẩu người dùng
Hãy để chúng tôi nói rằng bạn có quy trình được lưu trữ sau sample_procedure như sau.
DELIMITER $$ CREATE PROCEDURE get_orders() BEGIN SELECT * FROM orders; END$$
Phần thưởng đã đọc:MySQL Cast as Boolean
Đây là câu lệnh SQL để xóa thủ tục đã lưu trữ trong MySQL
mysql> DROP PROCEDURE get_orders(); Query OK, 0 rows affected (0.04 sec)
Nếu bạn cố gắng loại bỏ quy trình không tồn tại, bạn sẽ gặp lỗi sau
mysql> drop procedure get_orders; ERROR 1305 (42000): PROCEDURE sample.get_orders does not exist
Tuy nhiên, nếu bạn bỏ quy trình bằng từ khóa IF EXISTS, bạn sẽ chỉ nhận được cảnh báo chứ không phải lỗi.
mysql> drop procedure IF EXISTS get_orders; Query OK, 0 rows affected, 1 warning (0.00 sec)
Phần thưởng đọc:MySQL CAST và BOOLEAN
Cách bỏ tất cả các thủ tục trong MySQL
MySQL cho phép bạn chỉ bỏ một thủ tục tại một thời điểm. Vì vậy, nếu bạn muốn loại bỏ tất cả các thủ tục, bạn sẽ cần phải tạo các câu lệnh DROP PROCEDURE riêng biệt. Đây là câu lệnh SELECT tạo danh sách các câu lệnh thủ tục thả. Kết quả của nó là một danh sách các câu lệnh DROP PROCEDURE, một cho mỗi thủ tục được lưu trữ trong cơ sở dữ liệu của bạn. Tuy nhiên, hãy sử dụng nó một cách thận trọng.
SELECT CONCAT('DROP ',ROUTINE_TYPE,' `',ROUTINE_SCHEMA,'`.`',ROUTINE_NAME,'`;') as stmt FROM information_schema.ROUTINES;
Hy vọng rằng bây giờ bạn có thể dễ dàng xóa thủ tục trong MySQL.
Ubiq giúp dễ dàng trực quan hóa dữ liệu trong vài phút và theo dõi trong trang tổng quan thời gian thực. Thử nó ngay hôm nay!