2016-07-11 19 views
0

HEADERオプションでCOPYを使用しようとしていますが、ファイル内のヘッダー行がデータベースで指定された列の順序と異なる順番になっています。 ファイルに列名の順序が必要ですか?COPY列の順序

私のコードは以下の通りです:

COPY table_name (         
SELECT column_name 
FROM information_schema.columns 
WHERE table_schema = 'schema_name' 
    AND table_name = 'table_name' 

      )       
     FROM 'file.csv' 
     WITH DELIMITER ',' CSV HEADER; 

私のデータベーステーブルがfile.csvになり異なる順序を持っていると私はテーブルの順序を選択して、テーブルにCSVファイルからデータをコピーしたかったです。

答えて

2

copy fromでSQLクエリを発行することはできません。列は一覧表示のみできます。

CSVの列がb, a, c順序になっている場合は、copy fromコマンドでのことをリストアップ:あなたのコメントについて

copy target_table (b, a, c) 
from file.csv 
with (delimiter ',', format csv, header) 
+0

ありがとう! – sneha