2017-10-18 1 views
1

Ich habe mehrere CSV-Dateien mit den gleichen Spalten, aber die Spalten sind in anderer Reihenfolge.DB2 Import - wie mehrere CSV-Dateien zusammengeführt werden

Ich möchte alle diese CSV-Dateien über "importieren" zusammenführen.

Bitte könnten Sie mit dieser Importaussage helfen? Wie kann ich diese Importanweisung der Spaltenreihenfolge zuordnen?

+0

Ist Ihr Db2-Server unter Unix/Linux Windows? – mao

Antwort

0

Mit Db2 unter Unix/Windows können Sie den Befehl IMPORT oder den Befehl LOAD verwenden. Zusätzlich sind andere Möglichkeiten mit dem Befehl INGEST möglich.

Mit IMPORT oder LOAD können Sie auf zwei Arten vorgehen: Entweder "METHOD P" verwenden oder die Reihenfolge der Zielspalten in der INSERT-Klausel festlegen. Im Folgenden finden Sie zwei Beispiele.

Das erste Beispiel wird mit "Method P" zum Import:

gibt es drei CSV Dateien, deren drei Spalten sind in unterschiedlicher Reihenfolge und eine Zieltabelle mit drei Spalten (a, b, c):

create table mytab(a integer not null, b integer not null, c integer not null) 
DB20000I The SQL command completed successfully. 

!cat 1a.csv 
1,2,3 

!cat 1b.csv 
99,98,97 

!cat 1c.csv 
55,51,59 

import from 1a.csv of del method p(1,2,3) insert into mytab 
SQL3109N The utility is beginning to load data from file "1a.csv". 

SQL3110N The utility has completed processing. "1" rows were read from the 
input file. 

SQL3221W ...Begin COMMIT WORK. Input Record Count = "1". 

SQL3222W ...COMMIT of any database changes was successful. 

SQL3149N "1" rows were processed from the input file. "1" rows were 
successfully inserted into the table. "0" rows were rejected. 


Number of rows read   = 1 
Number of rows skipped  = 0 
Number of rows inserted  = 1 
Number of rows updated  = 0 
Number of rows rejected  = 0 
Number of rows committed = 1 


import from 1b.csv of del method p(3,2,1) insert into mytab 
SQL3109N The utility is beginning to load data from file "1b.csv". 

SQL3110N The utility has completed processing. "1" rows were read from the 
input file. 

SQL3221W ...Begin COMMIT WORK. Input Record Count = "1". 

SQL3222W ...COMMIT of any database changes was successful. 

SQL3149N "1" rows were processed from the input file. "1" rows were 
successfully inserted into the table. "0" rows were rejected. 


Number of rows read   = 1 
Number of rows skipped  = 0 
Number of rows inserted  = 1 
Number of rows updated  = 0 
Number of rows rejected  = 0 
Number of rows committed = 1 


import from 1c.csv of del method p(2,1,3) insert into mytab 
SQL3109N The utility is beginning to load data from file "1c.csv". 

SQL3110N The utility has completed processing. "1" rows were read from the 
input file. 

SQL3221W ...Begin COMMIT WORK. Input Record Count = "1". 

SQL3222W ...COMMIT of any database changes was successful. 

SQL3149N "1" rows were processed from the input file. "1" rows were 
successfully inserted into the table. "0" rows were rejected. 


Number of rows read   = 1 
Number of rows skipped  = 0 
Number of rows inserted  = 1 
Number of rows updated  = 0 
Number of rows rejected  = 0 
Number of rows committed = 1 


select * from mytab 

A   B   C   
----------- ----------- ----------- 
      1   2   3 
     97   98   99 
     51   55   59 

    3 record(s) selected. 

Das zweite Beispiel verwendet geordnete Spaltenziele für die Einfügung, um die Reihenfolge der Spaltenziele in der CSV-Datei zu ermitteln.

create table mynewtab(a integer not null, b integer not null, c integer not null) 
DB20000I The SQL command completed successfully. 

!cat 1a.csv 
1,2,3 

!cat 1b.csv 
99,98,97 

!cat 1c.csv 
55,51,59 

import from 1a.csv of del insert into mynewtab(a,b,c) 
SQL3109N The utility is beginning to load data from file "1a.csv". 

SQL3110N The utility has completed processing. "1" rows were read from the 
input file. 

SQL3221W ...Begin COMMIT WORK. Input Record Count = "1". 

SQL3222W ...COMMIT of any database changes was successful. 

SQL3149N "1" rows were processed from the input file. "1" rows were 
successfully inserted into the table. "0" rows were rejected. 


Number of rows read   = 1 
Number of rows skipped  = 0 
Number of rows inserted  = 1 
Number of rows updated  = 0 
Number of rows rejected  = 0 
Number of rows committed = 1 


import from 1b.csv of del insert into mynewtab(c,b,a) 
SQL3109N The utility is beginning to load data from file "1b.csv". 

SQL3110N The utility has completed processing. "1" rows were read from the 
input file. 

SQL3221W ...Begin COMMIT WORK. Input Record Count = "1". 

SQL3222W ...COMMIT of any database changes was successful. 

SQL3149N "1" rows were processed from the input file. "1" rows were 
successfully inserted into the table. "0" rows were rejected. 


Number of rows read   = 1 
Number of rows skipped  = 0 
Number of rows inserted  = 1 
Number of rows updated  = 0 
Number of rows rejected  = 0 
Number of rows committed = 1 


import from 1c.csv of del insert into mynewtab(b,a,c) 
SQL3109N The utility is beginning to load data from file "1c.csv". 

SQL3110N The utility has completed processing. "1" rows were read from the 
input file. 

SQL3221W ...Begin COMMIT WORK. Input Record Count = "1". 

SQL3222W ...COMMIT of any database changes was successful. 

SQL3149N "1" rows were processed from the input file. "1" rows were 
successfully inserted into the table. "0" rows were rejected. 


Number of rows read   = 1 
Number of rows skipped  = 0 
Number of rows inserted  = 1 
Number of rows updated  = 0 
Number of rows rejected  = 0 
Number of rows committed = 1 


select * from mynewtab 

A   B   C   
----------- ----------- ----------- 
      1   2   3 
     97   98   99 
     51   55   59 

    3 record(s) selected. 
Verwandte Themen