sql >> Base de Datos >  >> RDS >> Oracle

Cómo exportar correctamente los resultados de la declaración de selección en un archivo Csv usando spool en el desarrollador de Oracle sql

Su selección está incompleta porque no tiene un from cláusula, pero no estoy seguro si ha perdido eso en el copiar y pegar. Tal como está, no hay nada que ejecutar, ya que la declaración parcial nunca se ejecuta (sin terminar ; o / en la línea siguiente). Si tuviste un from farmers; entonces mostraría el comando más un error ORA-00923, probablemente.

No puede simplemente poner una coma entre comillas entre los campos, necesita concatenar los campos con ese carácter usando el || símbolo de concatenación:

spool 'c:\farmerList.csv'

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

da un archivo que contiene

Joe,Grundy,X,Y,Ambridge

Los campos no tienen que estar en líneas separadas, solo encuentro que es más fácil de leer y realizar un seguimiento de las comas.

No necesitas el / después del comando spool, que volverá a ejecutar la última declaración antes del spool , si hay uno, y no necesita las comillas alrededor del nombre del archivo de cola a menos que contenga espacios, pero no duelen.

También hay un set colsep comando que puede usar para convertir el separador de columnas en una coma, pero debe preocuparse por el relleno, por lo que me resulta más fácil concatenar las columnas juntas como (casi) lo está haciendo.

Excepto que eso es para SQL * Plus, ya que no noté la referencia de SQL Developer en el título. Spool es un poco extraño en Developer, ya que parece atrapar y hacer eco de cosas que probablemente no quieras, y no todo el set los comandos funcionan (cuáles dependen de la versión).

Creo que la forma más segura y preferida es ejecutar una consulta normal sin comas concatenadas:

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

y con 'ejecutar' en lugar de 'ejecutar script', para que los resultados aparezcan en la vista de cuadrícula en la ventana de resultados de la consulta. Haga clic derecho en la cuadrícula y elija 'exportar'. Luego puede guardar como CSV, o incluso como XLS, y puede optar por no tener una fila de encabezado si lo prefiere.