Oracle
 sql >> база данни >  >> RDS >> Oracle

Как правилно да експортирате резултатите от оператора select в Csv файл, като използвате spool в oracle sql developer

Вашият избор е непълен, тъй като нямате from клауза, но не съм сигурен дали сте го загубили при копирането и поставянето. Както е, няма какво да се изпълнява, тъй като частичният оператор никога не се изпълнява (няма прекратяващ ; или / на следващия ред). Ако сте имали from farmers; клауза, тогава ще покаже командата плюс грешка ORA-00923, вероятно.

Не можете просто да поставите запетая в кавички между полетата, трябва да свържете полетата с този знак, като използвате || символ за конкатенация:

spool 'c:\farmerList.csv'

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

дава файл, съдържащ

Joe,Grundy,X,Y,Ambridge

Не е необходимо полетата да са на отделни редове, просто смятам, че това е по-лесно за четене и следене на запетаите.

Нямате нужда от / след командата spool - това ще изпълни отново последния оператор преди spool , ако има такъв - и нямате нужда от кавичките около името на спулния файл, освен ако не съдържа интервали, но те не вредят.

Има и set colsep команда, която можете да използвате, за да превърнете разделителя на колони в запетая, но трябва да се притеснявате за подпълването, така че намирам за по-лесно да свържа колоните заедно, както (почти) правите.

Освен това е за SQL*Plus, тъй като не забелязах препратката към SQL Developer в заглавието. Спулирането е малко странно в Developer, тъй като изглежда улавя и отразява неща, които вероятно не искате, а не всички от set командите работят (кои зависи от версията).

По-безопасният и предпочитан начин според мен е да се изпълни нормална заявка без свързани запетаи:

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

и с 'run' вместо 'run script', така че резултатите да се показват в мрежовия изглед в прозореца с резултати от заявката. Щракнете с десния бутон върху решетката и изберете „експортиране“. След това можете да запазите като CSV или дори като XLS и можете да изберете да нямате заглавен ред, ако предпочитате.



  1. Database
  2.   
  3. Mysql
  4.   
  5. Oracle
  6.   
  7. Sqlserver
  8.   
  9. PostgreSQL
  10.   
  11. Access
  12.   
  13. SQLite
  14.   
  15. MariaDB
  1. Вземете BLOB от колоната BFILE в Oracle

  2. Как да коригирате отхвърлените oracle.sql.ArrayDescriptor, oracle.sql.STRUCT и oracle.sql.StructDescriptor

  3. Изпълнете множество SQL изрази в java

  4. Използване на Oracle JDeveloper 12c с Oracle Database, част 1

  5. Query работи на Oracle 11g, но не успява на Oracle 8i