Skipping Daten-Felder beim laden von getrennten Daten mit SQLLDR
Betrachten Szenario:
Tabelle T1 (f1, f2, f3);
Daten-Dateien:
a|b|c|d
w|x|y|z
Ich möchte laden diese Daten überspringen das zweite Feld wie folgt:
f1 f2 f3
--- --- ---
a d c
w z y
Würde wirklich zu schätzen Ihre Hilfe oder keine Zeiger in den Bau der control-Datei, um dies zu erreichen.
InformationsquelleAutor Vinod Yadav | 2015-04-17
Du musst angemeldet sein, um einen Kommentar abzugeben.
Definieren Sie die Spalte, die Sie überspringen möchten als FÜLLSTOFF. Beachten Sie die Reihenfolge der Spalten in der control-Datei ist in der Regel die Reihenfolge in der Datendatei. Wenn der name entspricht einer Spalte in der Tabelle, das ist, wo es gehen wird.
In anderen Worten, die Reihenfolge der Spalten in der control-Datei entspricht der Reihenfolge, in der Daten-Datei, nicht der Reihenfolge in der Tabelle. Das entspricht dem Namen, nicht um.
BEARBEITEN - ich habe einige Kommentare für die Erklärung, aber ich glaube, Sie können nicht in dieser position in die aktuelle Datei. Siehe unten für eine vollständige Beispiel:
Tabelle anlegen:
Der control-Datei, Beispiel.ctl:
Ausführen:
Wählen Sie aus der Tabelle:
Hoffentlich hilft.
Könnten Sie bitte vorschlagen, einen anderen Weg hier?
Ich glaube nicht, dass Sie benötigt wird. Dies ist, wie Sie ein Feld überspringen und machen eine wiederverwendbare Steuerelement-Datei. Es sei denn, Sie möchten, schreiben Sie eine Art von einem Programm zu Streifen, Felder, die Sie nicht brauchen, vor dem laden, aber Sie müssen noch eine control-Datei. Vielleicht bin ich nicht immer, warum diese Methode ist die Sorge?
Vielen, vielen Dank! Nun hatte ich eine Idee. Ja, wir können die control-Datei wiederverwendbar einfach durch die Definition einer neuen DUMMY - /Füller-Spalte in der Tabelle und Zuordnung der unerwünschten Daten-Feld, um den Füllstoff.
Nein, keine Attrappe/FÜLLMATERIAL benötigt wird, in die Tabelle ein. In dem Beispiel, das ich oben gab, Feld 'X' ist die zweite Zeile, die der entspricht, auf das zweite Feld in der Daten-Datei. Da es FILLER, es wird ignoriert. Es gibt keine Spalte in der Tabelle mit dem Namen 'X'. Sie gerade nennen Sie es in der control-Datei, so dass es nicht übereinstimmt, den Namen einer Spalte. Die Tabelle hat nur die Spalten mit der Bezeichnung f1, f2 und f3.
InformationsquelleAutor Gary_W