2016-07-11 12 views
0

Ich versuche, COPY mit HEADER-Option verwenden, aber meine Kopfzeile in Datei ist in anderer Reihenfolge als die Reihenfolge der Spalte in der Datenbank angegeben. Ist die Reihenfolge der Spaltennamen in meiner Datei erforderlich?COPY Spaltenreihenfolge

Mein Code ist wie folgt:

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; 

Meine Datenbanktabelle eine andere Reihenfolge von file.csv hat, und ich wollte die Tabellenreihenfolge und Kopieren von Daten aus CSV-Tabelle auszuwählen.

Antwort

2

Sie können keine SQL-Abfrage in copy from ausgeben. Sie können nur die Spalten auflisten.

Wenn die CSV-Spalten in dem b, a, c um dann Liste, die in dem copy from Befehl sind:

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

Danke für Ihren Kommentar! – sneha