मुझे पता है कि यह सवाल थोड़ा पुराना है, लेकिन शायद कोई जवाब पर ठोकर खाएगा और इससे उन्हें मदद मिलेगी।
आप जो खोज रहे हैं उसे करने का उचित तरीका एक दृश्य बनाना और उसका उपयोग करना है। हां, उन सभी नए कॉलम नामों को उपनाम के रूप में टाइप करना एक बार थोड़ा कठिन होगा, लेकिन अगर यहां बहुत सारे कॉलम हैं तो आप पोस्टग्रेएसक्यूएल मेटाडेटा का लाभ उठाने के लिए दृश्य का पाठ लिखने के लिए उपयोग कर सकते हैं:
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;';
इस पैदावार को चलाने से:
?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]
फिर आप परिणामों और वॉयला को कॉपी और निष्पादित कर सकते हैं:
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]