Trong PostgreSQL, chúng ta có thể sử dụng IF EXISTS
mệnh đề của DROP TABLE
để kiểm tra xem bảng có tồn tại hay không trước khi loại bỏ nó.
Ví dụ
Dưới đây là một ví dụ để chứng minh:
DROP TABLE IF EXISTS t1;
Câu lệnh đó làm rơi một bảng có tên t1
nếu nó tồn tại.
Khi tôi chạy câu lệnh đó trong Azure Data Studio (với phần mở rộng Postgres của nó), bảng đã tồn tại, vì vậy bảng đó đã bị xóa và tôi nhận được thông báo sau:
Commands completed successfully
Khi tôi chạy lại câu lệnh (sau khi nó đã bị loại bỏ), tôi nhận được thông báo sau:
NOTICE: table "t1" does not exist, skipping Commands completed successfully
Không có lỗi xảy ra, nhưng tôi đã nhận được "thông báo" rằng bảng không tồn tại, cùng với thông báo rằng lệnh đã hoàn tất thành công.
Đây là những gì sẽ xảy ra khi chúng tôi không sử dụng IF EXISTS
:
DROP TABLE t1;
Kết quả:
table "t1" does not exist
Lần này, chúng tôi gặp lỗi cho chúng tôi biết rằng bảng không tồn tại.
Ngoài ra, hãy xem 5 cách để kiểm tra xem một bảng có tồn tại trong PostgreSQL hay không nếu bạn chỉ muốn kiểm tra xem bảng có tồn tại hay không mà không bỏ qua.