Nehmen wir an, Oracle soll auf die Daten in dieser durch Kommas getrennte Textdatei zugreifen.
7369,SMITH,CLERK,7902,17-DEC-80,800,20 7499,ALLEN,SALESMAN,7698,20-FEB-81,1600,300,30 7521,WARD,SALESMAN,7698,22-FEB-81,1250,500,30 7566,JONES,MANAGER,7839,02-APR-81,2975,,20 7654,MARTIN,SALESMAN,7698,28-SEP-81,1250,1400,30 7698,BLAKE,MANAGER,7839,01-MAY-81,2850,,30 7782,CLARK,MANAGER,7839,09-JUN-81,2450,,10 7788,SCOTT,ANALYST,7566,19-APR-87,3000,,20 7839,KING,PRESIDENT,,17-NOV-81,5000,,10 7844,TURNER,SALESMAN,7698,08-SEP-81,1500,0,30 7876,ADAMS,CLERK,7788,23-MAY-87,1100,,20
Die Datei enthält folgende Informationen über Angestellte:
- Nummer des Angestellten
- Nachname
- Position
- Nummer des zuständigen Managers
- Einstelldatum
- Gehalt
- Provision
- Abteilung
Wie integrieren wir diese Datei in Oracle ? Zunächst muss für Oracle ein Verzeichniseintrag im „Data Dictionary“ erstellt werden, der das Windows-Verzeichnis enthält, in dem die Textdatei gespeichert ist. In diesem Beispiel werden wir das Verzeichnis testdir nennen, der Ort ist c:docspubsdbqueries:
SQL> create directory testdir as 'c:docspubsdbqueries';Directory Created.
Nachdem wir das Verzeichnis erstellt haben, können wir in Oracle die Struktur der externen Datei festlegen. Diesen Code finden sie in Listing A.
Die Spalten der externen Tabelle werden in dieser Syntax ähnlich wie bei einer internen Oracle-Tabelle definiert. Die externen Definitionen finden sich, wie in Tabelle A beschrieben, im externen Organisationsabschnitt wieder.
Tabelle A | |
default directory testdir | Verzeichnis der Datei |
records delimited by newline | Zeilenvorschubzeichen |
fields terminated by ‚,‘ | Zeichen für Zeilenumbruch |
location (‚emp_ext.csv‘) | Name der externen Datei |
Externe Definitionen für die durch Komma getrennten Daten aus der Textdatei
Nachdem die externe Tabelle nun ausreichend beschrieben ist, können mit SQL Abfragen gestartet werden. Es macht keinen Unterschied, ob sich die Tabelle innerhalb oder ausserhalb der Datenbank befindet. Die in Listing B dargestellte Abfrage verwendet den durchdachten ROLLUP-Parameter, um die Gehälter sowohl nach Abteilung und Position zusammenzufassen. Die Ergebnisse finden sie in Listing C.
Neueste Kommentare
Noch keine Kommentare zu Datenzugriff in Textdateien mit Oracle SQL
Kommentar hinzufügenVielen Dank für Ihren Kommentar.
Ihr Kommentar wurde gespeichert und wartet auf Moderation.