Update einer Spalte in der Tabelle mit SQL*Loader?
Ich geschrieben habe ein SQL-Skript mit folgenden Abfrage.
Abfrage funktioniert einwandfrei.
update partner set is_seller_buyer=1 where id in (select id from partner
where names in
(
'A','B','C','D','E',... // around 100 names.
));
Aber jetzt statt der Schrift um 100 Namen in einer Abfrage selbst habe ich Holen wollen all die Namen aus der CSV-Datei.
Ich lese über SQL*Loader über das internet, aber ich bekam nicht viel auf die update-Abfrage.
Meine csv-Datei enthält nur die Namen.
Habe ich versucht
load data
infile 'c:\data\mydata.csv'
into table partner set is_wholesaler_reseller=1
where id in (select id from partner
where names in
(
'A','B','C','D','E',... // around 100 names.
));
fields terminated by "," optionally enclosed by '"'
( names, sal, deptno )
Wie kann ich das erreichen?
Vielen Dank im Voraus.
InformationsquelleAutor vikiiii | 2012-02-01
Du musst angemeldet sein, um einen Kommentar abzugeben.
SQL*Loader keine updates durchführen, nur fügt. Also, sollten Sie Ihre Namen in eine separate Tabelle, sagen
names
, und führen Sie das update aus, dass:Ihre loader-Skript kann geändert werden, um:
Eine Alternative ist die Verwendung Externer Tabellen, die kann Oracle zu behandeln, eine flache Datei, wie es ist ein Tisch. Ein Beispiel, um Ihnen den Einstieg gefunden werden kann hier.
InformationsquelleAutor John Doyle