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

Làm cách nào để chuyển đến tệp có định dạng CSV bằng SQLPLUS?

Bạn cũng có thể sử dụng phần sau, mặc dù nó giới thiệu khoảng cách giữa các trường.

set colsep ,     -- separate columns with a comma
set pagesize 0   -- No header rows
set trimspool on -- remove trailing blanks
set headsep off  -- this may or may not be useful...depends on your headings.
set linesize X   -- X should be the sum of the column widths
set numw X       -- X should be the length you want for numbers (avoid scientific notation on IDs)

spool myfile.csv

select table_name, tablespace_name 
  from all_tables
 where owner = 'SYS'
   and tablespace_name is not null;

Đầu ra sẽ như sau:

    TABLE_PRIVILEGE_MAP           ,SYSTEM                        
    SYSTEM_PRIVILEGE_MAP          ,SYSTEM                        
    STMT_AUDIT_OPTION_MAP         ,SYSTEM                        
    DUAL                          ,SYSTEM 
...

Điều này sẽ đỡ tẻ nhạt hơn rất nhiều so với việc gõ ra tất cả các trường và nối chúng bằng dấu phẩy. Bạn có thể làm theo một tập lệnh sed đơn giản để loại bỏ khoảng trắng xuất hiện trước dấu phẩy, nếu bạn muốn.

Một cái gì đó như thế này có thể hoạt động ... (kỹ năng sed của tôi rất kém, vì vậy điều này có thể sẽ cần phải làm việc)

sed 's/\s+,/,/' myfile.csv 


  1. Database
  2.   
  3. Mysql
  4.   
  5. Oracle
  6.   
  7. Sqlserver
  8.   
  9. PostgreSQL
  10.   
  11. Access
  12.   
  13. SQLite
  14.   
  15. MariaDB
  1. Bật TLS trong Ứng dụng Oracle R12.2

  2. Không thể biên dịch GI 12.1.0.2 và lỗi phân đoạn

  3. Oracle SQL Developer:Hiển thị kết quả REFCURSOR trong Grid?

  4. ORA-01882:không tìm thấy vùng múi giờ

  5. Dấu (+) có nghĩa là gì trong mệnh đề WHERE của Oracle SQL?