我在數據庫中兩個不同的表,如動態查詢Postgres裏
db=# select * from pg_tables where tablename like '%enhancedreports03_1970_01_01%';
SCHEMANAME |表名| tableowner |表空間| hasindexes | hasrules |觸發器 ------------ + ------------------------------ + ---- ----------------- + -------------- + ------------ + ---- ------ + ------------- 報告| enhancedreports03_1970_01_01 | ss_agent_summarizer | rpt_data_tbs | t | f | f (1 row)
db=# select * from pg_tables where tablename like '%enhancedreports03_0_1970_01_01%';
schemaname |表名| tableowner |表空間| hasindexes | hasrules |觸發器 ------------ + -------------------------------- + - ------------------- + -------------- + ------------ + - -------- + ------------- 報告| enhancedreports03_0_1970_01_01 | ss_agent_summarizer | rpt_data_tbs | t | f | ˚F (1行)
要求是採取CSV備份,我嘗試使用下面的動態查詢
db=# select 'copy ' || '"'|| "schemaname" ||'"' || '.' ||'"'|| "tablename" ||'"' || ' from ' || ' ''/home/postgres/' || schemaname || '_' || tablename || '.' || 'csv.gz''' || ' delimiter ''' || ',' || ''' CSV' || ';' from pg_tables where tablename like '%enhancedreports03_0_1970_01_01%' order by schemaname,tablename;
?column?
---------------------------------------------------------------------------------------------------------------------------------------------------------
copy "reports"."enhancedreports03_0_1970_01_01" from '/home/postgres/reports_enhancedreports03_0_1970_01_01.csv.gz' delimiter ',' CSV;
但我需要的結果集是這樣的
copy "reports"."enhancedreports03_1970_01_01" from '/home/postgres/reports_enhancedreports03_0_1970_01_01.csv.gz' delimiter ',' CSV;
查詢沒有動態查詢沒有給我想要的結果set..What我需要的是有針對性表應該是複製到表沒有下劃線零(_0)..即)enhancedreports03_0_1970_01_01增強報告03_1970_01_01 – user3359124
對不起,我真的不明白你目前的問題,你請解釋它...對不起.. –
實際上我不明白的需要dianamic查詢因爲你有一個單一的表和一個單一的CSV文件,所以直接使用它... –