Vor 2 Monaten hab ich gezeigt, wie Sie mittels sqlldr CSV in eine Oracle Datenbank importieren können. Nun bin ich zufällig auf den umgekehrten Weg gestoßen, den ich hier kurz aufzeigen möchte.
SQL-Skript
Mittels folgenden kurzen Zeilen kann aus einer beliebigen SQL-Abfrage (Select-Statement) ein CSV-Export durchgeführt werden:
SET PAGES 999
SPOOL adressbuch.csv
SELECT name || ';' || vorname || ';' || strasse || ';' || hausnummer || ';' || geburtstag FROM adressbuch;
SPOOL OFF
Modifikation
Natürlich kann in dem SELECT-Statement auch definiert werden, ob Strings in Anführungszeichen eingeschlossen werden sollen. Dazu müssen die Anführungszeichen nur an die Semikolons ergänzt werden. Dies würde für das SELECT-Statement wie folgt aussehen:
SELECT '"' || name || '";"' || vorname || '";"' || strasse || "';' || hausnummer || ';' || geburtstag FROM adressbuch;
Hausnummer und Geburtstag sind in dem Beispiel jetzt kein String. Diese können mit den Mitteln von Oracles PL/SQL weiter beliebig formatiert und exportiert werden.
Die Ergebnisdatei adressbuch.csv wird im Dateisystem erstellt und der Export kann weiterverarbeitet werden. Zum Beispiel wäre ein Import nach Excel möglich.



Diskussion
Keine Kommentare für “Oracle Export nach CSV”