Datenzugriff in Textdateien mit Oracle SQL

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.

Themenseiten: Big Data, Datenbank, Software

Fanden Sie diesen Artikel nützlich?
Content Loading ...
Whitepaper

Artikel empfehlen:

Neueste Kommentare 

Noch keine Kommentare zu Datenzugriff in Textdateien mit Oracle SQL

Kommentar hinzufügen

Schreibe einen Kommentar

Deine E-Mail-Adresse wird nicht veröffentlicht. Erforderliche Felder sind markiert *