La tua selezione è incompleta perché non hai un from
clausola, ma non sono sicuro di averlo perso nel copia e incolla. Così com'è non c'è nulla da eseguire, poiché l'istruzione parziale non viene mai eseguita (nessuna terminazione ;
o /
alla riga successiva). Se avevi un from farmers;
clausola quindi mostrerebbe il comando più un errore ORA-00923, probabilmente.
Non puoi semplicemente inserire una virgola tra i campi, devi concatenare i campi con quel carattere usando il ||
simbolo di concatenazione:
spool 'c:\farmerList.csv'
select FIRSTNAME
||','|| LASTNAME
||','|| TRN
||','|| CELL
||','|| PARISH
from farmers;
fornisce un file contenente
Joe,Grundy,X,Y,Ambridge
I campi non devono essere su righe separate, trovo che sia più facile leggere e tenere traccia delle virgole.
Non hai bisogno del /
dopo il comando spool - che eseguirà nuovamente l'ultima istruzione prima dello spool
, se ce n'è uno - e non hai bisogno delle virgolette attorno al nome del file di spool a meno che non contenga spazi, ma non fanno male.
C'è anche un set colsep
comando che puoi usare per trasformare il separatore di colonna in una virgola, ma devi preoccuparti del riempimento, quindi trovo più facile concatenare le colonne insieme come stai (quasi) facendo.
Tranne che per SQL * Plus, poiché non ho notato il riferimento dello sviluppatore SQL nel titolo. Lo spool è un po' strano nello sviluppatore in quanto sembra intrappolare e fare eco a cose che probabilmente non vuoi, e non tutto il set
i comandi funzionano (quali dipende dalla versione).
Il modo più sicuro e preferito, penso, sia eseguire una query normale senza virgole concatenate:
select FIRSTNAME, LASTNAME, TRN, CELL, PARISH
from farmers;
e con "esegui" anziché "esegui script", in modo che i risultati vengano visualizzati nella visualizzazione griglia nella finestra dei risultati della query. Fai clic con il pulsante destro del mouse sulla griglia e scegli "esporta". Puoi quindi salvare come CSV o anche come XLS e puoi scegliere di non avere una riga di intestazione se preferisci.