2013-11-24 17 views

Trả lời

11

Xem câu trả lời tiếp theo; đây là đã lỗi thời.


Hỗ trợ cho

DROP TABLE IF EXISTS tablename; 

đã được bổ sung trong PostgreSQL 8.2. Redshift là một ngã ba được sửa đổi rất nhiều của 8.1 bởi ParAccel, và theo như tôi biết họ đã quay trở lại rất ít thay đổi từ các phiên bản mới hơn. Rất ít khả năng nó hỗ trợ IF EXISTS; bạn có thể cần phải thực hiện truy vấn danh mục để xác định xem bảng có tồn tại hay không bằng cách tra cứu information_schema, sau đó quyết định xem bạn có tạo bảng này dựa trên kết quả hay không.

+0

Tính năng này được hỗ trợ, hãy xem câu trả lời của tôi bên dưới –

16

này được hỗ trợ trong phiên bản mới nhất của chuyển đỏ:

DROP TABLE [ IF EXISTS ] name [, ...] [ CASCADE | RESTRICT ] 

IF EXISTS khoản chỉ ra rằng nếu bảng được chỉ định không tồn tại , lệnh nên không có thay đổi và trả về một thông điệp rằng bảng không tồn tại, thay vì chấm dứt lỗi.

Điều khoản này hữu ích khi tập lệnh, do đó tập lệnh không thành công nếu DROP TABLE chạy với bảng không tồn tại.

Lấy từ online AWS Redshift docs.

+1

Tốt để xem họ vẫn đang làm việc về khả năng tương thích với Pg. –

+2

Đây phải là câu trả lời được chấp nhận. – Kerr

Các vấn đề liên quan