Oracle
 sql >> Baza danych >  >> RDS >> Oracle

Jak poprawnie wyeksportować wyniki instrukcji select do pliku Csv za pomocą bufora w programie Oracle sql developer

Twój wybór jest niekompletny, ponieważ nie masz from klauzuli, ale nie jestem pewien, czy zgubiłeś to podczas kopiowania i wklejania. Tak jak jest, nie ma nic do uruchomienia, ponieważ instrukcja częściowa nigdy nie jest wykonywana (bez zakończenia ; lub / w następnym wierszu). Jeśli masz from farmers; klauzula, wtedy prawdopodobnie wyświetli polecenie plus błąd ORA-00923.

Nie możesz po prostu umieścić przecinka w cudzysłowie między polami, musisz połączyć pola z tym znakiem za pomocą || symbol konkatenacji:

spool 'c:\farmerList.csv'

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

daje plik zawierający

Joe,Grundy,X,Y,Ambridge

Pola nie muszą znajdować się w osobnych wierszach, po prostu uważam, że jest to łatwiejsze do odczytania i śledzenia przecinków.

Nie potrzebujesz / po poleceniu spool - to ponownie wykona ostatnią instrukcję przed spool , jeśli istnieje - i nie potrzebujesz cudzysłowów wokół nazwy pliku buforowania, chyba że zawiera on spacje, ale to nie zaszkodzi.

Istnieje również set colsep polecenie, którego możesz użyć do przekształcenia separatora kolumn w przecinek, ale musisz się martwić o dopełnienie, więc łatwiej jest mi połączyć kolumny razem, tak jak (prawie) to robisz.

Tyle że dotyczy to SQL*Plus, ponieważ nie zauważyłem odniesienia do SQL Developer w tytule. Buforowanie jest nieco dziwne w programistach, ponieważ wydaje się wyłapywać i powtarzać rzeczy, których prawdopodobnie nie chcesz, a nie wszystkie z set komendy działają (które zależą od wersji).

Myślę, że bezpieczniejszym i preferowanym sposobem jest uruchomienie normalnego zapytania bez połączonych przecinków:

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

i z „uruchom” zamiast „uruchom skrypt”, aby wyniki były wyświetlane w widoku siatki w oknie wyników zapytania. Kliknij prawym przyciskiem myszy na siatkę i wybierz „eksportuj”. Następnie możesz zapisać jako plik CSV, a nawet jako XLS i możesz zrezygnować z wiersza nagłówka, jeśli wolisz.



  1. Database
  2.   
  3. Mysql
  4.   
  5. Oracle
  6.   
  7. Sqlserver
  8.   
  9. PostgreSQL
  10.   
  11. Access
  12.   
  13. SQLite
  14.   
  15. MariaDB
  1. Dołącz do dwóch stołów, gdy w jednym stole nie ma wartości

  2. Różnica między klasami sterowników Oracle jdbc?

  3. Czy SQLDeveloper obsługuje wykonywanie skryptów?

  4. Cofnij A, jeśli B pójdzie nie tak. wiosna boot, jdbctemplate

  5. dynamiczna nazwa tabeli w kursorze