Oracle
 sql >> Cơ Sở Dữ Liệu >  >> RDS >> Oracle

Cách xuất kết quả của câu lệnh select thành tệp Csv đúng cách bằng cách sử dụng spool trong oracle sql developer

Lựa chọn của bạn chưa hoàn thành vì bạn không có from , nhưng không chắc liệu bạn có bị mất điều đó trong quá trình sao chép và dán hay không. Vì nó không có gì để chạy, vì câu lệnh một phần không bao giờ được thực thi (không kết thúc ; hoặc / trên dòng tiếp theo). Nếu bạn có from farmers; thì nó sẽ hiển thị lệnh cộng với lỗi ORA-00923, có thể là.

Bạn không thể chỉ đặt dấu phẩy được trích dẫn giữa các trường, bạn cần nối các trường với ký tự đó bằng cách sử dụng || ký hiệu nối:

spool 'c:\farmerList.csv'

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

cung cấp một tệp chứa

Joe,Grundy,X,Y,Ambridge

Các trường không nhất thiết phải nằm trên các dòng riêng biệt, tôi thấy điều đó dễ đọc và dễ theo dõi các dấu phẩy hơn.

Bạn không cần / sau lệnh spool - lệnh này sẽ kích hoạt lại câu lệnh cuối cùng trước spool , nếu có - và bạn không cần dấu ngoặc kép xung quanh tên tệp cuộn trừ khi nó chứa khoảng trắng, nhưng chúng không ảnh hưởng gì.

Ngoài ra còn có set colsep lệnh mà bạn có thể sử dụng để làm cho dấu phân tách cột thành dấu phẩy, nhưng bạn phải lo lắng về phần đệm, vì vậy tôi thấy việc nối các cột với nhau dễ dàng hơn khi bạn (gần như) đang làm.

Ngoại trừ đó là cho SQL * Plus, vì tôi không nhận thấy tham chiếu Nhà phát triển SQL trong tiêu đề. Spool hơi kỳ quặc trong Developer vì nó có vẻ như bẫy và lặp lại những thứ bạn có thể không muốn và không phải tất cả set các lệnh hoạt động (những lệnh nào phụ thuộc vào phiên bản).

Theo tôi, cách an toàn và được ưa thích hơn là chạy một truy vấn bình thường không có dấu phẩy nối:

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

và với 'run' thay vì 'run script', để kết quả xuất hiện ở dạng xem lưới trong cửa sổ kết quả truy vấn. Nhấp chuột phải vào lưới và chọn 'xuất'. Sau đó, bạn có thể lưu dưới dạng CSV hoặc thậm chí dưới dạng XLS và có thể chọn không có hàng tiêu đề nếu bạn muốn.



  1. Database
  2.   
  3. Mysql
  4.   
  5. Oracle
  6.   
  7. Sqlserver
  8.   
  9. PostgreSQL
  10.   
  11. Access
  12.   
  13. SQLite
  14.   
  15. MariaDB
  1. Làm thế nào để tạo toàn bộ DDL của một lược đồ Oracle (có thể tập lệnh)?

  2. Oracle chọn bản ghi ngày gần đây nhất

  3. Oracle MIN làm hàm phân tích - hành vi kỳ quặc với ORDER BY?

  4. Tại sao hibernate tạo tiền tố 'T_' tableName trong quá trình chèn và xóa?

  5. Làm thế nào để Nhận Định nghĩa Bảng trong Oracle?