PostgreSQL hỗ trợ CREATE TABLE AS
và SELECT INTO
khi nào tôi sử dụng cả hai?
CREATE TABLE AS
- xác định một bảng mới từ kết quả của một truy vấn
CREATE TABLE AS
tạo một bảng và điền vào nó với dữ liệu được tính bằngSELECT
lệnh. Các cột trong bảng có tên và kiểu dữ liệu được liên kết với các cột đầu ra củaSELECT
(ngoại trừ việc bạn có thể ghi đè tên cột bằng cách đưa ra một danh sách rõ ràng các tên cột mới).
CREATE TABLE AS
mang một số điểm tương đồng để tạo ra một khung nhìn, nhưng nó thực sự khá khác biệt: nó tạo ra một bảng mới và đánh giá truy vấn chỉ một lần để điền vào bảng mới ban đầu. Bảng mới sẽ không theo dõi các thay đổi tiếp theo đối với các bảng nguồn của truy vấn. Ngược lại, một khung nhìn đánh giá lạiSELECT
tuyên bố xác định của nó bất cứ khi nào nó được truy vấn.
Và sau đó.
SELECT INTO
- xác định một bảng mới từ kết quả của một truy vấn
SELECT INTO
tạo một bảng mới và điền vào nó với dữ liệu được tính toán bởi một truy vấn. Dữ liệu không được trả về cho khách hàng, vì nó là bình thườngSELECT
. Các cột của bảng mới có tên và kiểu dữ liệu được liên kết với các cột đầu ra củaSELECT
.