Trong bài đăng này SQL Server - 2016 - Mệnh đề “Drop if Exists” của T-SQL Nâng cao, chúng tôi đã thấy tính năng mới được giới thiệu trong phiên bản SQL Server 2016. Một người bạn của tôi gần đây đã hỏi tôi câu hỏi rằng làm thế nào để bỏ bảng nếu tồn tại trong cơ sở dữ liệu MySQL? Không có gì ngạc nhiên khi thấy rằng không có nhiều người biết về sự tồn tại của tính năng này. MySQL đã có tính năng này một thời gian và nếu bạn là MySQL DBA, bạn có thể thấy thú vị khi SQL Server vừa giới thiệu tính năng này.
Hãy để chúng tôi xem ví dụ này hoạt động ngay bây giờ. Đầu tiên, chúng tôi sẽ tạo một bảng mẫu.
CREATE TABLE test(id INT,name VARCHAR(100));
Nếu chúng ta phải thả bảng trên, chúng ta có thể thực thi tập lệnh sau và thả nó.
DROP TABLE IF EXISTS test;
Tập lệnh trên bỏ bảng có tên kiểm tra nếu tồn tại, nếu không nó sẽ hiển thị cảnh báo chứ không phải lỗi. Điều này rất quan trọng để hiểu rằng vì nó không hiển thị lỗi, chúng tôi có thể dễ dàng xử lý cảnh báo trong mã của chúng tôi. Điều này rất hữu ích nếu bạn không chắc chắn về sự tồn tại của bảng.
Không chỉ các bảng, mà MySQL cũng có sẵn tính năng tương tự cho các thủ tục được lưu trữ. Hãy để chúng tôi xem một ví dụ nhanh về tương tự.
Đây là một tập lệnh mà bạn có thể sử dụng để tạo các thủ tục được lưu trữ.
CREATE PROCEDURE test_proc AS BEGIN SELECT 1 AS number; END;
Sau khi tạo quy trình trên, bạn có thể sử dụng tập lệnh sau để loại bỏ nó.
DROP PROCEDURE IF EXISTS test_proc;
Hãy nhớ rằng, giống như table, nó sẽ loại bỏ thủ tục đã lưu trữ nếu có tồn tại, nếu không, nó sẽ chỉ trả về một cảnh báo. Thực sự thú vị khi thấy MySQL đã có tính năng này được một thời gian, trong khi SQL Server mới giới thiệu tính năng này trong năm nay.