Mysql
 sql >> Cơ Sở Dữ Liệu >  >> RDS >> Mysql

Cách xóa thủ tục đã lưu trữ trong MySQL

Đô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!

  1. Database
  2.   
  3. Mysql
  4.   
  5. Oracle
  6.   
  7. Sqlserver
  8.   
  9. PostgreSQL
  10.   
  11. Access
  12.   
  13. SQLite
  14.   
  15. MariaDB
  1. MySQL tương đương với hàm CHOOSE () của SQL Server là gì?

  2. Mã lỗi:1215. Không thể thêm ràng buộc khóa ngoại (khóa ngoại)

  3. Cài đặt Ruby gem mysql2 không thành công

  4. Cách hoạt động của hàm LOWER () trong MySQL

  5. Khi nào sử dụng MyISAM và InnoDB?