Tôi biết câu hỏi này hơi cũ, nhưng có lẽ ai đó sẽ vấp phải câu trả lời và nó sẽ giúp ích cho họ.
Cách thích hợp để thực hiện những gì bạn đang tìm kiếm là tạo và sử dụng Chế độ xem. Vâng, sẽ hơi tẻ nhạt một lần khi gõ tất cả các tên cột mới đó làm bí danh, nhưng nếu có nhiều cột, đây là một mẹo bạn có thể sử dụng để tận dụng siêu dữ liệu PostgreSQL để viết ra văn bản của dạng xem:
select 'CREATE OR REPLACE VIEW people AS SELECT ' ||
(select string_agg(column_name || ' AS person_' || column_name, ', ')
from information_schema.columns
where table_name = 'person'
group by table_name) ||
' FROM person;';
chạy điều này sẽ mang lại:
cột?column?
-------------------------------------------------------------------------------------------------------------
CREATE OR REPLACE VIEW people AS SELECT last_name AS person_last_name, first_name AS person_first_name FROM person;
1 record(s) selected [Fetch MetaData: 0/ms] [Fetch Data: 0/ms]
[Executed: 4/21/12 2:05:21 PM EDT ] [Execution: 9/ms]
sau đó bạn có thể sao chép và thực thi các kết quả và thì đấy:
select * from people;
person_last_name person_first_name
------------------- --------------------
Melvoin Wendy
Coleman Lisa
2 record(s) selected [Fetch MetaData: 1/ms] [Fetch Data: 0/ms]