Oracle
 sql >> Datenbank >  >> RDS >> Oracle

So exportieren Sie die Ergebnisse der Select-Anweisung mithilfe von Spool in Oracle SQL Developer ordnungsgemäß in eine CSV-Datei

Ihre Auswahl ist unvollständig, da Sie keinen from haben Klausel, aber nicht sicher, ob Sie das beim Kopieren und Einfügen verloren haben. So wie es ist, muss nichts ausgeführt werden, da die partielle Anweisung nie ausgeführt wird (kein abschließender ; oder / in der nächsten Zeile). Wenn Sie einen from farmers; hatten -Klausel, würde es wahrscheinlich den Befehl plus einen ORA-00923-Fehler anzeigen.

Sie können nicht einfach ein Komma in Anführungszeichen zwischen die Felder setzen, Sie müssen die Felder mit diesem Zeichen mit || verketten Verkettungssymbol:

spool 'c:\farmerList.csv'

select FIRSTNAME
    ||','|| LASTNAME
    ||','|| TRN
    ||','|| CELL
    ||','|| PARISH
from farmers;

ergibt eine Datei, die

enthält
Joe,Grundy,X,Y,Ambridge

Die Felder müssen nicht in separaten Zeilen stehen, ich finde das einfach einfacher zu lesen und die Kommas zu beachten.

Sie brauchen den / nicht nach dem spool-Befehl - das wird die letzte Anweisung vor dem spool erneut ausführen , wenn es einen gibt - und Sie brauchen die Anführungszeichen um den Spool-Dateinamen nicht, es sei denn, er enthält Leerzeichen, aber sie schaden nicht.

Es gibt auch einen set colsep Befehl, mit dem Sie das Spaltentrennzeichen in ein Komma umwandeln können, aber Sie müssen sich um das Auffüllen kümmern, daher finde ich es einfacher, die Spalten miteinander zu verketten, als Sie es (fast) tun.

Außer für SQL*Plus, da ich die SQL Developer-Referenz im Titel nicht bemerkt habe. Spool ist in Developer etwas seltsam, da es scheinbar Dinge abfängt und wiedergibt, die Sie wahrscheinlich nicht wollen, und nicht den gesamten set Befehle funktionieren (welche abhängig von der Version).

Der sicherere und bevorzugte Weg ist meiner Meinung nach, eine normale Abfrage ohne verkettete Kommas auszuführen:

select FIRSTNAME, LASTNAME, TRN, CELL, PARISH
from farmers;

und mit 'run' statt 'run script', damit die Ergebnisse in der Rasteransicht im Abfrageergebnisfenster erscheinen. Klicken Sie mit der rechten Maustaste auf das Raster und wählen Sie „Exportieren“. Sie können dann als CSV- oder sogar als XLS-Datei speichern und sich dafür entscheiden, keine Kopfzeile zu haben, wenn Sie dies bevorzugen.