2016-04-09 5 views
-2

Ich habe eine CSV-Datei, aus der ich Daten in eine Tabelle eingeben möchte. Es ist eine große CSV-Datei, die 300K Datensätze enthält. Ich las über Masseneinfügung, aber hier möchte ich mit CSV nur einige Felder hinzuzufügen, restlichen Felder sind Konstanten:Einfügen von wenigen Feldern aus CSV in SQL-Tabelle

Mein normalen Einsatz ist wie folgt:

INSERT INTO Table_1 
(TYPE,EVENT_ID, BASE_ID ,ID) VALUES 
('NEW',<CSV_FIELD1>, 1, <CSV_FIELD2>) 

Gemäß dieser, ich möchte Holen Sie nur das zweite und das letzte Feld aus der CSV-Datei. Wie mache ich das?

Auch nach Einfügungen möchte ich überprüfen, ob alle diese Datensätze in der Tabelle vorhanden sind oder nicht. Ich kann einfach count(*) nicht tun, da es einige gleichzeitige Einfügungen in der Tabelle gibt. Wie kann ich die Verwendung von CSV überprüfen? Es ist eine Oracle DB.

+0

Extract Datensatz aus CSV und dann nur die gewünschten Daten in die Datenbank eingefügt werden. Alle sollten über gespeicherte PL/SQL-Prozeduren auf Formularebene erfolgen. –

+0

Haben Sie sich externe Tabellen oder SQL \ * Loader angesehen? –

Antwort

1

Was @ Alex-Poole sagte, SQL * Loader.

SQL Developer wird Ihnen:

  • die Spalten bilden Sie wollen in lesen, aus der CSV-
  • ein Skript erstellen, das SQL * Loader
  • die SQL * Loader ctl-Datei erstellen, starten wird dass ordnet die Spalten aus der csv den cols in der Tabelle
  • nach sQL * loader erfolgt, abgelehnt (nicht) Zeilen in einer Datei protokolliert werden

click, click, click...

Sie müssen einen Oracle-Client auf Ihrem Computer installieren, um SQL * Loader ausführen zu können.

Using SQL Developer to setup a SQL*Loader Run

Verwandte Themen